05. september 2007 - 09:24Der er
3 kommentarer og 1 løsning
Incorrect syntax near the keyword 'CASE'
Får denne fejl næsten uanset hvad jeg har prøvet "Incorrect syntax near the keyword 'CASE'"
Any clue...any one?
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[pOpskrivRykkerfrist] @dagsdato datetime, @nyrykkerfrist datetime, @blanketnummer int, @guid uniqueidentifier, @rykkerfrist int AS BEGIN DECLARE @rykkernummer int SET @rykkernummer = (SELECT COUNT(BlanketnummerOriginal) FROM tBlanketRykker WHERE BlanketnummerOriginal=@blanketnummer)
IF(rykkernummer>0) BEGIN UPDATE tRykkerData CASE @rykkernummer WHEN 1 THEN SET tRykkerData.Rykker1Dato=@dagsdato, tRykkerData,Udløbsdato=@nyrykkerfrist WHEN 2 THEN SET tRykkerData.Rykker2Dato=@dagsdato, tRykkerData,Udløbsdato=@nyrykkerfrist END FROM tRykkerData INNER JOIN tDHS ON tRykkerData.RykkerIndex = tDHS.RykkerIndex WHERE tDHS.Guid = @guid END END
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg tror ikke du kan bruge en Case som du gør det i din Update. I dit tilfælde skal du nok heller bruge if:
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[pOpskrivRykkerfrist] @dagsdato datetime, @nyrykkerfrist datetime, @blanketnummer int, @guid uniqueidentifier, @rykkerfrist int AS BEGIN DECLARE @rykkernummer int SET @rykkernummer = (SELECT COUNT(BlanketnummerOriginal) FROM tBlanketRykker WHERE BlanketnummerOriginal=@blanketnummer)
IF(rykkernummer=1) BEGIN UPDATE tRykkerData SET tRykkerData.Rykker1Dato=@dagsdato , tRykkerData,Udløbsdato=@nyrykkerfrist FROM tRykkerData INNER JOIN tDHS ON tRykkerData.RykkerIndex = tDHS.RykkerIndex WHERE tDHS.Guid = @guid END IF(rykkernummer=2) BEGIN UPDATE tRykkerData SET tRykkerData.Rykker2Dato=@dagsdato , tRykkerData,Udløbsdato=@nyrykkerfrist FROM tRykkerData INNER JOIN tDHS ON tRykkerData.RykkerIndex = tDHS.RykkerIndex WHERE tDHS.Guid = @guid END END
UPDATE tRykkerData SET tRykkerData.Rykker1Dato = case @Rykkernummer when 1 then @Dagsdato else tRykkerData.rykker1dato end, tRykkerData.Rykker2Dato = case @Rykkernummer when 2 then @Dagsdato else tRykkerData.Rykker2Dato end, Udløbsdato=@nyrykkerfrist FROM tRykkerData INNER JOIN tDHS ON tRykkerData.RykkerIndex = tDHS.RykkerIndex WHERE tDHS.Guid = @guid
Hvilken løsning bruger du? Min eller Lorentsnv? Husk at lukke spørgsmålet, når du har fået løsningen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.