首頁 php教程 PHP开发 sql觸發器(insert,update,delete)

sql觸發器(insert,update,delete)

Dec 14, 2016 pm 04:19 PM
sql觸發器

--insert 觸發器
create trigger tri_insert
on student  --將要進行更改的表名
for insert  --給表插入一條資料的時候觸發
as
declare @student_id char(10)d SELECT @student_id=s.student_id from  --把查詢出的指定欄位的值賦值給變數
student s inner join inserted i
on s.student_id=i.student_id
if @studgin_id='0000 '不能插入1的學號!',16,8)
    rollback tran
end
go

--update觸發器
create trigger tri_updateon student --將要進行更改的表格給日期修改一條資料的時候觸發
as
if update(student_id)
begin
    raiserror('學號不能修改!',16,8)
    rollback trandelete

on student --將要進行更改的表名
for delete --給表刪除一條資料的時候觸發
as
declare @student_id varchar(10)
select @student_id=student_id from deletedif'
begin

    raiserror('錯誤',16,8)

    rollback tran
end


解釋:在刪除(delete)資料的時候,可以假設資料庫將要刪除的資料表中,deleteed讀取普通的表格一樣,select 欄位from deleted
而insert的時候道理一樣,只不過是把要插入的資料放在inserted表中。
更新操作可以認為是執行了兩個操作,先把那一行記錄delete掉,然後再insert,這樣update操作實際上就對deleted表和inserted表的操作,所以不會有updated表了,有的時候兩個表是主外鍵關係,想刪除主表資料的同時把子表相關的資料也刪除,這個時候如果用觸發器就沒有效果了,因為這個觸發器是在你刪除表後才觸發的,這個時候直接終止,提示“有主外鍵關係,不能刪除等”,所有這樣的刪除觸發器是沒有效果的



本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)