Einzelnen Beitrag anzeigen

Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#9

Re: Stored Procedure: Ergebnismenge dynamisch updaten

  Alt 23. Dez 2006, 20:38
Hallo quso,

Leider unterstützt der MSSQL nicht die Dynamik in TSQL, die man sich wünschen möchte
Ein Ansatz wäre:
SQL-Code:
Update Tabelle set A = (Select X
                        from View
                        where B IN (Select B
                                    from Tabelle
                                    where Bedingung)
                        )
Oder: mit einem CURSOR
SQL-Code:
DECLARE @a int
DECLARE @b char(10)

DECLARE cr CURSOR FOR
   Select A,B
   from Tabelle
   where Bedingung

OPEN cr

FETCH NEXT FROM cr INTO @a, @b

WHILE (@@FETCH_STATUS = 0)
BEGIN
   Update Tabelle set A = (Select X from View where @b)

   FETCH NEXT FROM cr INTO @a, @b
END

CLOSE cr
DEALLOCATE cr
Ich bin mir nicht sicher das der Code 100%-ig richtig ist, da ich ihn nicht getestet habe!
Aber der Ablauf könnte so aussehen
  Mit Zitat antworten Zitat