2016-06-16 2 views
0

Ich bin etwas verwirrt, die Orakel-Trigger auf SQL-Server konvertieren. Alle Hinweise werden sehr geschätzt. Ich bin mir nicht sicher, wie man "wenn ich dann einfüge" und "wenn ich dann aktualisiere" in sql server ersetze?Orakel-Trigger in Sql-Server-Trigger umwandeln

Antwort

0

SQLServer macht es ein bisschen schwierig, wenn es darum geht festzustellen, ob der Vorgang ein Update, Einfügen oder Löschen ist.

Ich werde Ihre Auslöser nicht schreiben, aber hier ist ein Code, den Sie die aktuelle Operation herauszufinden helfen sollte:

Create Trigger [name] on [table] Before Insert, Update As 
Begin 
declare @actionId int  


select @actionId = case 
         when i.id is not null and d.id is  null then 1 -- insert 
         when i.id is not null and d.id is not null then 2 -- update 
         when i.id is  null and d.id is not null then 3 -- delete 
        end   
    from  inserted i full join deleted d on d.id = i.id 

Your Code goes here 
+0

Vielen Dank für Ihre Antwort. Ich nehme an ich sollte anstelle von Insert, Update? Wie ich festgestellt habe, gibt es keine vor Insert, Update in SQL Server? – wwidhoo

+0

Sie haben Recht. So etwas wie Vorher auf MSSQL-Server gibt es nicht. Ich weiß nicht, was Sie erreichen wollen, aber AFTER ist in den meisten Fällen eine passende Alternative – lokusking