成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

使用SQL語句創建觸發器的實例

瀏覽:5日期:2023-09-28 21:00:59
目錄前言一、觸發器的介紹1.1 觸發器 的概念以及定義:1.2 、 觸發器 的作用二、 觸發器 的種類三、使用SQL語句創建觸發器實例1.創建after融發器2.創建instead of觸發器

前言一、觸發器的介紹1.1 觸發器 的概念以及定義:

觸發器 是一種特殊類型的存儲過程,它不同于我們前面介紹過的存儲過程。存儲過程可以通過語句直接調用,而 觸發器主要是通過事件進行觸發而被執行的.例如當對某一表進行諸如UPDATE(修改)、INSERT(插入)、DELETE(刪除)這些操作時,SQL Server 就會自動執行觸發器所定義的SQL語句,從而確保對數據之間的相互關系,實時更新.

1.2 、 觸發器 的作用

觸發器的主要作用就是其能夠實現由 主鍵 和 外鍵 所不能保證的復雜的參照完整性和數據的一致性。除此之外, 觸發器 還有其它許多不同的功能:

①、復雜的約束條件觸發器 能夠實現比CHECK 語句更為復雜的約束。

②、保證數據的安全

觸發器 因為 觸發器是在對數據庫進行相應的操作而自動被觸發的SQL語句可以通過數據庫內的操作從而不允許數據庫中未經許可的指定更新和變化。

③.級聯式

觸發器 可以根據數據庫內的操作,并自動地級聯影響整個數據庫的各項內容。例如:對A表進行操作時,導致A表上的 觸發器被觸發,A中的 觸發器中包含有對B表的數據操作(UPDATE(修改)、INSERT(插入)、DELETE(刪除)),而該操作又導致B表上 觸發器被觸發。

④.調用存儲過程

為了響應數據庫更新, 觸發器 可以調用一個或多個存儲過程.

但是,總體而言, 觸發器性能通常比較低。

二、 觸發器 的種類

SQL Server 中一般支持以下兩種類型的觸發器:

AFTER 觸發器

  AFTER 觸發器 要求只有執行某一操作(INSERT、UPDATE、DELETE)之后, 觸發器 才被觸發,且只能在表上定義。可以為針對表的同一操作定義多個 觸發器 。2. INSTEAD OF 觸發器 。

  INSTEAD OF 觸發器 表示并不執行其所定義的操作(INSERT、UPDATE、DELETE),而僅是執行 觸發器 本身。既可在表上定義INSTEAD OF 觸發器 ,也可以在視圖上定義INSTEAD OF 觸發器 ,但對同一操作只能定義一個INSTEAD OF 觸發器 。

三、使用SQL語句創建觸發器實例1.創建after融發器

(1)創建一個在插入時觸發的觸發器sc_insert,當向sc表插入數據時,須確保插入的學號已在student表中存在,并且還須確保插入的課程號在Course表中存在﹔若不存在,則給出相應的提示信息,并取消插入操作,提示信息要求指明插入信息是學號不滿足條件還是課程號不滿足條件(注:Student表與sc表的外鍵約束要先取消)。

語句實現:

create trigger sc_inserton scafter insertasif not exists (select * from student,insertedwhere student.sno=inserted.sno)beginprint '插入信息的學號不在學生表中! 'if not exists (select * from course,inserted wherecourse.cno=inserted. cno)print '插入信息的課程號不在課程表中!'rollbackend elsebeginif not exists (select * from course,inserted whereCourse.cno=inserted.cno)beginprint '插入信息的課程號不在課程表中! 'rollbackendend

執行:

insert into scvalues ( '20110112','001','78')

刪除外鍵約束;

alter table scdrop constraint FK_sc__sno__332C9D34

(2)為Course表創建一個觸發器Course_del,當刪除了Course表中的一條課程信息時,同時將表sc表中相應的學生選課記錄刪除掉。

create trigger course_delon courseafter deleteasif exists(select * from sc, deletedwhere sc.cno=deleted.cno)begindelete from scwhere sc.cno in (select cno from deleted)enddelete from Coursewhere Cno='003'

select * from sc

(3)在Course表中添加一個平均成績avg_Grade字段(記錄每門課程的平均成績),創建一個觸發器Grade_modify,當sc表中的某學生的成績發生變化時,則Course表中的平均成績也能及時相應的發生改變。

向Course表中添加一個平均成績avg_Grade字段

alter table Courseadd avg_Grade smallint

向avg_Grade中添加數據

update courseset avg_Grade= (select AVG(Grade) from scwhere sc.Cno=Course.Cno)

查看Course表:

select *from Course

創建Grade_modify觸發器

create trigger Grade_modifyon scafter updateasif update(grade)beginupdate courseset avg_grade=(select avg (grade)from sc where course.cno=sc.cnogroup by cno)endupdate scset Grade='90 'where sno='20050001' and cno='001'2.創建instead of觸發器

(1)創建一視圖Student_view,包含學號、姓名、課程號、課程名、成績等屬性,在Student_view上創建一個觸發器Grade_moidfy,當對Student_view中的學生的成績進行修改時,實際修改的是sc中的相應記錄。

創建視圖:

create view student_viewasselect s.Sno,Sname , c.Cno , Cname , Gradefrom student s , course c, scwhere s.Sno=sc.sno and c.Cno=sc.cno

創建觸發器:

create trigger Grade_moidfy on student_viewinstead of updateasif UPDATE (Grade)beginupdate scset Grade= (select Grade from inserted) whereSno= (select sno from inserted) and Cno= (select Cno from inserted)Endupdate student_viewset Grade=40where Sno='20110001'and Cno='002'

測試修改數據:

select *from student_view

(2)在sc表中插入一個getcredit字段(記錄某學生,所選課程所獲學分的情況),創建一個觸發器ins_credit,當更改(注:含插入時)sc表中的學生成績時,如果新成績大于等于60分,則該生可獲得這門課的學分,且該學分須與Course表中的值一致﹔如果新成績小于60分,則該生未能獲得學分,修改值為0。

添加新字段getcredit :

alter table scadd getcredit smallint

創建觸發器:

create trigger sc_upon scafter insert,updateasdeclare @xf int,@kch char(3),@xh char(8),@fs intselect @fs=grade,@kch=cno,@xh=sno from insertedif @fs>=60update sc set @xf=(select credit from course wheresc.Cno=course.cno) where sno=@xh and cno=@kchelseupdate sc set @xf=0 where sno=@xh and cno=@kch修改數據:update scset Grade='90'where Sno='20050001' and cno='001'

以上就是對觸發器的基本認識了,希望對大家有所幫助.

到此這篇關于使用SQL語句創建觸發器的實例的文章就介紹到這了,更多相關SQL創建觸發器內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MsSQL 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产99久久久久| 久久精品人人做| 国产精品高潮呻吟| 91在线视频网址| 日韩免费成人网| 麻豆91精品视频| 色综合久久88色综合天天免费| 亚洲一区电影777| 亚洲高清免费| 亚洲三级在线观看| 亚洲乱亚洲高清| 一区二区精品在线| 亚洲已满18点击进入久久| 99热在线精品观看| 亚洲欧美电影院| 91网上在线视频| 国产丝袜美腿一区二区三区| 岛国精品一区二区| www欧美成人18+| 91丨porny丨最新| 26uuu精品一区二区三区四区在线| 成人中文字幕在线| 日韩欧美高清dvd碟片| 风间由美性色一区二区三区| 日韩美女在线视频| 国产91清纯白嫩初高中在线观看| 日韩限制级电影在线观看| 成人在线视频一区二区| 欧美电影免费观看高清完整版在线观看| 国产九色精品成人porny| 日韩欧美国产麻豆| 亚洲欧美一区二区原创| 国产精品国产精品国产专区不片 | 麻豆精品久久久| 欧美色视频一区| 国产精品一区二区三区乱码| 日韩三级免费观看| av在线播放一区二区三区| 国产亚洲精品中文字幕| 在线观看成人一级片| 亚洲综合在线电影| 色噜噜狠狠成人中文综合 | 国产成人在线观看| 欧美精品一区二区在线播放| 欧美国产91| 亚洲另类在线视频| 色综合久久久久综合| 国产一区三区三区| www国产精品av| 亚洲激情网址| 三级成人在线视频| 69堂成人精品免费视频| 99精品久久只有精品| 一区在线观看免费| 久久久精品动漫| 国产精品一区二区在线看| 国产日韩av一区二区| 国产欧美日韩在线播放| 蜜臀av一级做a爰片久久| 日韩女优av电影在线观看| 国产在线观看一区| 亚欧色一区w666天堂| 欧美电影一区二区| 国产一区二区无遮挡| 日本麻豆一区二区三区视频| 精品sm捆绑视频| 在线天堂一区av电影| 韩国女主播成人在线观看| 日本一区二区视频在线观看| 亚洲精品乱码久久久久久蜜桃麻豆| 香蕉成人伊视频在线观看| 日韩天堂在线观看| 亚洲裸体俱乐部裸体舞表演av| 全部av―极品视觉盛宴亚洲| 精品三级在线看| 亚洲理论在线| 久久 天天综合| 久久九九全国免费| 久久精品人人做人人爽电影蜜月| 国产suv精品一区二区三区| 日本一区二区高清| 久色成人在线| 91香蕉视频mp4| 日韩精品一二三| 久久久一区二区| 老司机免费视频久久| 99精品欧美一区二区蜜桃免费| 伊人色综合久久天天| 欧美色图片你懂的| 国内精品久久久久久久果冻传媒| 免费高清在线一区| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美日本在线一区| 狠狠色噜噜狠狠色综合久| 六月婷婷色综合| 国产精品美女一区二区| 欧美日韩高清影院| 亚洲激情一区| 国产成人综合网| 亚洲一区二区三区四区的| 精品国产亚洲在线| 久久免费黄色| 国产精品第十页| 久久精品国产久精国产| 最新日韩在线视频| 日韩女优视频免费观看| 蜜桃久久精品乱码一区二区| 91美女在线视频| 蜜桃免费网站一区二区三区 | 久久99精品久久久久久久久久久久 | 日韩美女视频一区二区在线观看| 亚洲专区免费| 欧美成人有码| 国产呦精品一区二区三区网站| 一区二区三区中文字幕精品精品 | 成人手机电影网| 婷婷成人综合网| 中文字幕精品—区二区四季| 欧美日韩精品三区| 国产一区二区高清| 91老师国产黑色丝袜在线| 精品一区二区三区在线播放视频| 亚洲一区二区三区四区中文字幕 | 精品影视av免费| 亚洲影院久久精品| 国产女主播视频一区二区| 欧美另类久久久品| 亚洲欧美清纯在线制服| 99久久亚洲一区二区三区青草| 日本不卡高清视频| 亚洲欧美日韩久久| 国产欧美精品区一区二区三区| 欧美精选午夜久久久乱码6080| 中文字幕亚洲成人| 欧美日韩一区二区三区在线| 国产精品手机在线| 国精品一区二区| 97精品国产露脸对白| 国产麻豆成人精品| 美女视频黄频大全不卡视频在线播放| 伊人色综合久久天天| 日本一区二区三区国色天香 | 国产老女人精品毛片久久| 婷婷综合五月天| 亚洲视频你懂的| 欧美国产97人人爽人人喊| 久久亚洲捆绑美女| 日韩精品一区国产麻豆| 欧美男男青年gay1069videost | 国产精品1区二区.| 免费成人在线观看视频| 亚洲第一主播视频| 亚洲精品视频在线| 国产精品免费观看视频| 精品国产1区2区3区| 欧美电影一区二区| 欧美日韩精品专区| 在线视频国内一区二区| 国产亚洲欧美另类一区二区三区| 好看不卡的中文字幕| 国产精品xvideos88| 91亚洲永久精品| 成人激情图片网| 成人中文字幕合集| 成人一道本在线| 成人黄色777网| 不卡的av在线| av在线这里只有精品| 国产成人av福利| 国产麻豆精品一区二区| 国产乱人伦偷精品视频免下载| 激情欧美日韩一区二区| 精品影院一区二区久久久| 久久99精品国产麻豆婷婷| 麻豆精品视频在线| 久久国产精品色| 精品一区二区三区在线播放视频| 青青草国产成人av片免费| 日韩黄色小视频| 丝袜诱惑制服诱惑色一区在线观看| 婷婷综合另类小说色区| 午夜精品123| 日日夜夜一区二区| 日韩av成人高清| 久久精品国产精品亚洲综合| 精品一区二区国语对白| 国产麻豆一精品一av一免费| 国产一区不卡视频| 粉嫩13p一区二区三区| 99视频国产精品| 欧美国产激情| 亚洲精品欧洲精品| 亚洲一区二区在线看| 久久久久一区二区| 日本精品视频一区二区三区| 欧美日韩一区二区三区四区| 欧美猛男男办公室激情| 日韩三级伦理片妻子的秘密按摩| 欧美成人精品福利| 久久久99精品久久|