create
trigger
stu_in
onsc
---對哪個表或者檢視進行操作
forinsert
--設定觸發條件,也就是在什麼情況下會觸發這個觸發器
asupdate
student
setscnum = scnum +1
from
student
inner
join
sc
onstudent.sno = sc.sno
setstatistics
io on
setnocount
oninsert
into
sc values
('990001'
,'001'
,'99'
) delete
from
sc where
sno=
'990001'
andcno=
'001'
--建立update觸發器
create
trigger
stu_up
onstudent
forupdate
asif
update
(sno)
begin
raiserror(
'不能對sno欄位進行更新'
,10,1)
rollback
transaction
endupdate
student
setsno=
'990032'
where
sno=
'990001'
--建立delete觸發器
create
trigger
stu_del
onstudent
fordelete
asdelete
from
sc
where
sc.sno in(
select
sno
from
deleted)
exec
sp_helptext stu_in
--檢視已經建立好的觸發器的建立語句
create
trigger
com_up
oncomputer
instead
ofupdate
--instead of主要用於對檢視進行更新
asif
update
(sname)
------------------這個sname的值來自於輸入update語句中的set後面的條件值
begin
update
student
setsname=inserted.sname
from
student
inner
join
inserted
onstudent.sno=inserted.sno
endelse
begin
update
sc
setcno=inserted.cno,
grade=inserted.grade
from
sc inner
join
inserted
onsc.sno=inserted.sno
endupdate
computer
setgrade=95
where
sno=
'990028'
update
computer
setsname=
'王曉曉'
-------------------與if update(sname)中的sname相對應
where
sno=
'990028'
select
* from
computer
定義
觸發器例項
sql server 觸發器例項 基本語法 幫助裡的語法太長了 create trigger triggername on tablename for insert delete update as 觸發器要執行的操作語句.go注意 觸發器中不允許以下 transact sql 語句 alter d...
mysql條件觸發器例項 mysql觸發器例項一則
例子,例項學習mysql觸發器的用法。一,準備二張測試表 1,測試表1 複製 示例 drop table if exists test create table test id bigint 11 unsigned not null auto increment,name varchar 100 n...
mysql觸發器例項
mysql從5.0開始支援觸發器 語法 create trigger 觸發器名稱 on 表名稱 for each row 觸發器sql語句 注意 在mysql中現在還不支援利用call來呼叫儲存過程 示例 比如有論壇的版塊表和文章表,乙個版塊中有多篇文章,在版塊表中有乙個字段用來記錄版塊下的文章數。...