Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
Delphi 12 Athens
|
AW: Trigger-"Übersetzung" (MySQL -> MSSQL)?
18. Dez 2017, 14:54
Nur zur Info: so funktioniert es endlich wie gewünscht (ist jetzt so etwas wie AFTER UPDATE FOR EACH ROW).
SQL-Code:
CREATE TRIGGER Tabelle_KEEP_UID ON Tabelle
FOR UPDATE AS
DECLARE trg_cur CURSOR FOR
SELECT ID, uid FROM deleted;
DECLARE @ID integer;
DECLARE @uidval varchar(36);
DECLARE @uidval2 varchar(36);
OPEN trg_cur;
FETCH NEXT FROM trg_cur INTO @ID, @uidval;
WHILE @@FETCH_STATUS = 0
begin
SELECT @uidval2 = uid FROM inserted WHERE ID = @ID;
if (@uidval is null)
set @uidval = @uidval2;
if (@uidval is null)
set @uidval = lower(newid());
update Tabelle set uid = @uidval where ID = @ID;
FETCH NEXT FROM trg_cur INTO @ID, @uidval;
end;
CLOSE trg_cur;
DEALLOCATE trg_cur;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|