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