Ich stecke auf einen Fehler in MS SQL Server. Ich mache eine gespeicherte Prozedur, in der ich einen Wert deklariere, ich setze es als Select-Anweisung und führe es aus. Dann möchte ich es später in der gleichen gespeicherten Prozedur verwenden, aber es sieht es immer noch als Select-Anweisung und nicht als Ergebnis der Anweisung.Einen Wert angeben und ausführen, kann nicht in derselben gespeicherten Prozedur verwendet werden?
Deklarieren:
Declare @functie varchar(255);
Set @functie = 'Select Functie From Medewerker m, Logins l where m.mdwnr = l.mdwnr And gebruikersnaam = ''' + @GebruikersNaam + ''''
EXECUTE(@functie)
Print @functie
es danach Vergleich (nicht funktioniert):
If '+ @functie + ' = ''Administrator''
Print ' + @functie + '
Die Drucke zum Debuggen verwendet werden und sind nicht erforderlich.
Wie kann ich das beheben?
Das 'if' Aussage schlichtweg falsch ist -' ‚‘ Administrator''' isn 't eine gültige Zeichenfolge, und die erste Zeichenfolge ist eine hartcodierte' '+ @functie +' '. Vielleicht sollten Sie die Tippfehler korrigieren und Code versuchen, der tatsächlich kompiliert? Wolltest du 'if @functie = 'Administrator' verwenden? –