表中某列被修改後觸發器SQL例子

2021-04-17 03:21:17 字數 804 閱讀 5531

createtable[test](

[fid][int]identity(1,1)notnull,

[f1][int]null,

[f2][int]null,

[f3][int]null,

constraint[pk_test]primarykey clustered

([fid]

) on[primary]

)on[primary]

goaltertriggerupdateteston[dbo].[test]

forinsert,update,delete

asbegin

declare@f1 int,

@fid int,

@oldf1 int

ifupdate(f1)

begin

select@oldf1=f1fromtestwherefidin(selectfidfrominserted)

select@fid=fid,@f1=f1frominserted

print'fid='+convert(varchar(10),@fid)

print'oldf1='+convert(varchar(10),@oldf1)

print'f1='+convert(varchar(10),@f1)

endend

goinserttest(f1,f2,f3)values(1,2,3)

goselect*fromtest

goupdatetestsetf1=11wherefid=1

go--問題:不能獲得修改前的值???

PLSQL 觸發器篇 修改本表

首先宣告,經多方考證和本人的驗證,oracle中執行觸發器時,是可以修改本表的資料庫的,等會具體講。首先見表 create table test id varchar2 30 value varchar2 30 insert into test values 0001 wang insert int...

Oracle觸發器實現監控某錶的CRUD操作

create table trig sql lt date notnull primary key,sid number serial number username varchar2 30 osuser varchar2 64 machine varchar2 32 terminal varcha...

mysql修改表分界符號 mysql 觸發器

觸發器 trigger 顧名思義能夠監視某種情況,當情況發生時,觸發某種操作 應用場景 1 網購過程中。當提交商品訂單時,往訂單表中插入新記錄,觸發相應商品表的庫存做出相應降低。2 支付過程中,確認支付時觸發驗證卡上剩餘金額。等等以網購的情況舉例說明觸發器的作用 現有商品表 goods 包含商品id...