Letzte Nacht war ich wie diesesWie kann ich, wenn Anweisung nach einem WAK (SQL Server 2005)
DECLARE @ROLEID AS INT
SELECT @ROLEID = [ROLE ID] FROM TBLROLE
;WITH CTE
AS
(
SELECT * FROM SOMETABLE
)
IF (@ROLEID = 1)
BEGIN
//SOMECODE
END
ELSE IF(@ROLEID = 2)
BEGIN
//SOMECODE
END
ELSE
BEGIN
//SOMECODE
END
ich nach der Kompilierung ein einfaches T-SQL-Programm etwas zu schreiben, fand, dass es Fehler so etwas wie "wirft Falsche Aussage in der Nähe von if "
Was ist los?
Allerdings tat ich das auf eine andere Weise. Aber ich wollte wissen, warum es nicht funktioniert hat!
Was in jedem Fall nicht // SOMECODE tun? Wenn es sich beispielsweise um UPDATE-Anweisungen handelt, die alle auf dieselbe Tabelle abzielen, können Sie möglicherweise den prozeduralen Code mit der @ROLEID-Variablen weglassen und stattdessen ein einzelnes UPDATE mithilfe eines satzbasierten Ansatzes schreiben. – onedaywhen
Eigentlich wähle ich die Datensätze wie Select * aus Tblname. keine DML-Operationen –