Forums Neueste Beiträge
 

common table expressions schacteln, if

25/09/2008 - 18:18 von mike | Report spam
Hi !

warum bekomme ich bei folgender sp die meldung
incorrect syntax near if
kann man ctes schachteln ? oder zumindest mehrere auf gleicher ebene
verwenden ?
- ==Create PROCEDURE [dbo].[spQuantityDataMaxVersion]
(
@FK_ComplaintId as int,
@FK_Department as int,
@submitted as bit
)

AS
BEGIN
with cte as
(
select * from tblQuantityData
where FK_ComplaintId=@FK_ComplaintId and FK_Department=@FK_Department
)

if (@submitted=1)
begin
select * from cte
where Version=(select Max(Version) as maxVersion from cte)
end
else
select * from cte where Version is null
END
 

Lesen sie die antworten

#1 Willfried Faerber
25/09/2008 - 19:03 | Warnen spam
Hallo Mike,

hinter der CTE muss direkt folgend das SELECT kommen, dass die CTE
verwendet.
die Logig an Deiner Stelle wird so nicht unterstützt.

Viele Grüsse
Willfried Fàrber
MVP SQL Server

"mike" wrote in message
news:
Hi !

warum bekomme ich bei folgender sp die meldung
incorrect syntax near if
kann man ctes schachteln ? oder zumindest mehrere auf gleicher ebene
verwenden ?
- ==> Create PROCEDURE [dbo].[spQuantityDataMaxVersion]
(
@FK_ComplaintId as int,
@FK_Department as int,
@submitted as bit
)

AS
BEGIN
with cte as
(
select * from tblQuantityData
where FK_ComplaintId=@FK_ComplaintId and FK_Department=@FK_Department
)

if (@submitted=1)
begin
select * from cte
where Version=(select Max(Version) as maxVersion from cte)
end
else
select * from cte where Version is null
END

Ähnliche fragen