Voor een klus ben ik bezig met MS SQLServer 2000 en heb ik een aantal stored procedures nodig. Één ervan was vrij simpel en die werkte dus ook meteen, maar ik heb een andere en die krijg ik maar niet aan de praat. Als ik op de "check syntax"-knop druk dan krijg ik een foutmelding.
Goed, ook dat kan ik oplossen.... dacht ik. Dus ik ga de procedure gewoon uitkleden (dus niet opmerken dat dit momenteel een zinloze functie is
) tot ik een minimale hoeveelheid gegevens overhoud en dat is het volgende:
Foutmelding: Error 156: Incorrect statement near the keyword case.
De functie nog verder uitkleden tot puur een aanpassing van messages1 naar quotes levert Error 170: Incorrect syntax near @messages1.
Het probleem is dat ik blijkbaar variabele messages1 geen waarde kan toekennen. Ik denk dat dit te maken heeft met de plaats waar ik de statements neerzet, maar zeker weten doe ik dit niet. Op internet vind je veel over stored functies maar daar staat behalve basic voorbeelden niets over variabelen die in de functie worden toegewezen.
Wat klopt er niet aan deze functie en hoe zorg ik dat hij syntactisch in orde komt?
Goed, ook dat kan ik oplossen.... dacht ik. Dus ik ga de procedure gewoon uitkleden (dus niet opmerken dat dit momenteel een zinloze functie is
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| CREATE FUNCTION dbo.CreateMessage (@MESSAGETEXT As sql_Variant, @MSGV1 As sql_Variant, @MSGV2 As sql_Variant, @MSGV3 As sql_Variant, @MSGV4 As sql_Variant ) RETURNS VARCHAR(255) AS BEGIN DECLARE @ERRORMESSAGE varchar(255) DECLARE @MESSAGES1 varchar(255) SELECT @ERRORMESSAGE = CASE WHEN @MSGV1 IS NULL THEN @MESSAGES1='' ELSE @MESSAGES1 = RTRIM(@MSGV1) END RETURN @ERRORMESSAGE END |
Foutmelding: Error 156: Incorrect statement near the keyword case.
De functie nog verder uitkleden tot puur een aanpassing van messages1 naar quotes levert Error 170: Incorrect syntax near @messages1.
Het probleem is dat ik blijkbaar variabele messages1 geen waarde kan toekennen. Ik denk dat dit te maken heeft met de plaats waar ik de statements neerzet, maar zeker weten doe ik dit niet. Op internet vind je veel over stored functies maar daar staat behalve basic voorbeelden niets over variabelen die in de functie worden toegewezen.
Wat klopt er niet aan deze functie en hoe zorg ik dat hij syntactisch in orde komt?