Stored Procedure IF of CASE clauses in WHERE statements werke niet :-(

  • Onderwerp starter Onderwerp starter nille
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

nille

Gebruiker
Lid geworden
28 apr 2009
Berichten
19
Kan iemand mij behelpen bij ze volgende syntax,

Code:
USE [Coram]
GO
/****** Object:  StoredProcedure [dbo].[TEST]    Script Date: 08/07/2009 12:18:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[TEST]
	@ArtNr		int,
	@ArtOmschr  nvarchar(25),
	@Taal		nvarchar(1)
AS
BEGIN

SELECT 
			  case when [Art].[Status]=0 then str([Art].[Nummer]) else str([Art].[Nummer]) + '*' end as nr
			  ,case when @Taal='F' then [Omschr_fr] else [Omschr_nl] end as omschr 
			  ,[Art].[EAN]
			  ,[Art].[Winkelprijs]
			  ,[Art].[Signal]
			FROM [Coram].[dbo].[Artikels] as [Art]
			WHERE ([Art].[Nummer] <> 0)

			IF ((CAST(@ArtNr as nvarchar(15)) <> '') and (@ArtOmschr <> ''))
			BEGIN
				AND (CAST([Art].[Nummer] as nvarchar(15)) LIKE (CAST(@ArtNr as nvarchar(15)) + '%'))

				AND (
						([Art].[Omschr_nl] LIKE (@ArtOmschr + '%'))
					 OR ([Art].[Omschr_fr] LIKE (@ArtOmschr + '%'))
					)
			END
			ORDER BY [Art].[Nummer]	

END




zie bijlage voor de error.

Alvast bedankt, Nille.
 

Bijlagen

  • example errorke.jpg
    example errorke.jpg
    59,3 KB · Weergaven: 105
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan