SQL Server在插入触发器上更改列值

时间:2014-08-15 13:10:35

标签: sql-server oracle triggers

如何更改插入触发器中列的值?在Oracle中,我可以使用以下代码将col1值更改为INSERT Trigger中的大写。我如何在SQL Server中执行此操作?

IF exists (select col1 from inserted where col1 is  NOT NULL )
        begin 
            :NEW.col1:= UPPER(:NEW.col1);
        end 

1 个答案:

答案 0 :(得分:1)

这是使用INSTEAD OF触发器的一种方法。

CREATE TRIGGER MyTrigger ON MyTable INSTEAD OF INSERT AS
    INSERT MyTable(col1, [other columns])
    SELECT UPPER(i.col1)
        , i.[other columns]
    FROM Inserted i