| 

.NET C# Java Javascript Exception

1
Hallo

Das ist etwas was ich zum ersten mal mache. Ein Trigger auf einem SQL Server 2005.
...
SET NOCOUNT ON;

-- Daten von der Inserted DB Laden.
declare @UserID uniqueidentifier
declare @KvpID uniqueidentifier

--Cursor für die Iteration definieren
DECLARE currentCursor CURSOR FOR
SELECT @UserID=ModeratorUserId, @KvpID=ID FROM Inserted
Open currentCursor

FETCH NEXT FROM currentCursor
INTO @UserID, @KvpID
...

Fehler:
Meldung 154, Ebene 15, Status 3, Prozedur UpdateStatisticsAreaIdFormModerator, Zeile 23
variable assignment is not allowed in a cursor declaration.

Das ist in der Zeile:
SELECT @UserID=ModeratorUserId, @KvpID=ID FROM Inserted

Was muss ich da ändern? Diese Abfrage habe ich schon etliche male umgebaut. Und immer wieder funktioniert irgend was nicht mehr. Ohne Cursor funktionert der Trigger. Aber ich muss ein Cursor haben da mehr als eine Zeile vom Update betroffen sein kann.
News:
26.11.2009
GENiALi 2,5k 1 2 8
1 Antwort
1
Ich denke mal du kannst den Cursor einfach so deklarieren:
SELECT ModeratorUserId, ID FROM Inserted

Die Zuweisung an die Variablen passiert über das FETCH-Kommando.
26.11.2009
FalkP 3,3k 3 8
FETCH NEXT FROM currentCursor
INTO @UserID=ModeratorUserId, @KvpID=ID

Das will nicht. Wie müsste das im FETCH aussehen?
GENiALi 26.11.2009
@ModeratorUserId = Feldname im Select?
GENiALi 26.11.2009
(@ModeratorUserId == Feldname) == true :-)
GENiALi 26.11.2009

Stelle deine Sql-Frage jetzt!