当前位置: 首页 > news >正文

营销专业网站大连金州网站建设

营销专业网站,大连金州网站建设,手机网站 分享按钮,株洲网站建设报价数据库SQL 1、触发器概念 #xff08;1#xff09;触发器#xff08;trigger#xff09;是用户定义在关系表上的一类由事件驱动的存储过程#xff0c;由服务器自动激活。 #xff08;2#xff09;触发器可进行更为复杂的检查和操作#xff0c;具有更精细和更强大的数…数据库SQL 1、触发器概念 1触发器trigger是用户定义在关系表上的一类由事件驱动的存储过程由服务器自动激活。 2触发器可进行更为复杂的检查和操作具有更精细和更强大的数据控制能力。 3触发器是一种特殊的存储过程不管什么原因造成的数据变化都能自动响应对于每条SQL语句触发器仅执行一次。 总之触发器是一个自动激活的存储过程 2、触发器的分类 在SQLServer2008中按照触发事件的不同可以将触发器 分两大类DML触发器和DDL触发器。 1DML触发器。当数据库中发生数据操纵语言 DML事件时将调用DML触发器。一般情况下DML事件包括对表或视图的INSERT语句、UPDATE语句和DELETE语句因而DML触发器也可分三种类型INSERT、UPDATE和DELETE。对数据操作 2DDL触发器。DDL触发器也是由相应的事件触发 的但DDL触发器触发的事件是数据定义语句DDL。这些语句主要是以CREATE、ALTER、DROP等关键字开头的语句。对对象操作 3、触发器的实现 CREATE TRIGGER trigger_name ON {table/view} /*指定操作对象*/ {FOR/AFTER/INSTEAD OF} {INSERT/UPDATE/DELETE} AS {sql_statement } /*一条或多条SQL语句*/ After用于说明触发器在指定操作成功执行后触发 instead of指定用DML触发器中的操作代替触发语句的操作一条DML语句最多只能定义一条instead of触发器。 INSERTIUPDATE|DELETE触发器事件触发器的事件可以 是插入INSERT、更新UPDATE和删除DELETE事件也可以是这几个事件的组合。 变量的定义declare 变量名 数据类型循环while....撤销数据更改rollback提交数据更改commit语句块Begin....End条件判断IF..else 例创建触发器保证学生表中的性别仅能取男和女。 create trigger sexUpt on Student for insert, update as if exists(select * from inserted where sex not in(男,女)rollback /*本例的inserted表结构与Student表结构相同*/ 例创建一个表tablel其中只有一列a。在表上创 建一个触发器每次插入操作时将变量str的值设为“TRIGGERISWORKING”并显示。  CREATE TABLE table1(a int) go CREATE TRIGGER table1_insert ON table1 AFTER INSERT AS BEGIN DECLARE str char(50) SET strTRIGGER IS WORKING PRINT str END /*begin...end是T-SQL语言语句块*/ 例:创建触发器当向CJB表中插入一个学生的成绩时将XSB 表中该学生的总学分加上添加的课程的学分。 CREATE TRIGGER jb_ insert ON CIB AFTER INSERT AS BEGIN DECLARE num char(6), kc_num char(3) DECLARE xf int SELECT num学号kc_num课程号from inserted SELECT xf学分 FROM KCBWHERE 课程号kc_num UPDATE XSB SET总学分总学分xfWHERE num PRINT修改成功 End; 创建UPDATE触发器。UPDATE触发器在对触发器表执行 UPDATE语句后触发。在执行UPDATE触发器时将触发器表的原记录保存到deleted时表中将修改后的记录保存到inserted临时表中。 触发器是对临时表进行操作的。 例创建触发器当修改XSB表中的学号时同时也要将CJB表 中的学号修改成相应的学号假设XSB表和CJB表之间没有定义外键约束。 CREATE TRIGGER *sb_update ON XSB AFTER UPDATE AS BEGIN DECLARE old_num char(6), new_num char(6) SELECT old_num 学号 FROM deleted SELECT new_num 学号 FROM inserted UPDATE CIB SET 学号new_numWHERE 学号old_num END; 即更新操作也要经过临时表。 例在删除XSB表中的一条学生记录时将CJB表中该学生的相应记录也删除。 CREATE TRIGGER xsb_delete ON XSB AFTER DELETE AS BEGINDELETE FROM CJBWHERE 学号 INSELECT 学号 FROM deleted) END; /*在SQL中本来这里deleted的地方应该是XSB表*/ 例在KCB表中创建UPDATE和DELETE触发器当修改或删除KCB表中的“课程号”字段时同时修改或删除CJB表中的该课程号。 CREATE TRIGGER kcb_trig ON KCB AFTER UPDATE, DELETE AS BEGINIFUPDATE课程号UPDATE CIB SET 课程号 SELECT 课程号 FROM insertedWHERE 课程号SELECT 课程号 FROM deleted) ELSEDELETE FROM CJB WHERE 课程号 INSELECT 课程号 FROM deleted END; 例定义一个触发器为学生表student定义完整性 规则学生的年龄不得小于10岁如果小于10岁则自动修改为10岁。  create trigger name_change on Student for insert, update as beginupdate Student set Sage 10 where Sage 10 end;例写一个允许用户一次只删除一条记录的触发器。这里要用到聚合函数 create trigger tr_emp on employee after delete as declare row_cnt int select row_cntcount(*) from deleted if row_cnt1 begin print此删除操作可能回删除多条人事表数据 rollback transaction end 创建INSTEAD OF触发器。AFTER触发器 是在触发语句执行后触发的与AFTER触发器不同 的是INSTEADOF触发器触发时只执行触发器内部的SQL语句而不执行激活该触发器的SQL语句。一个表或视图中只能有一个INSTEADOF触发器。 例写一个触发器当用户将course表中的学分修改为大于7的值时不对数据进行修改同时发出提示信息。 Create trigger not_allowed On course Instead of update As Begin Declare credit int, cno char(4) Select cno cno,creditcredit from inserted if credit7Printf‘学分不允许大于7’ elseupdate course set creditcredit where cno cno End
http://www.ho-use.cn/article/10816274.html

相关文章:

  • 江西旅游网站建设方案python能够做网站
  • 专业seo整站优化前端网站开发实例视频
  • 网络机房建设方案优化大师app下载
  • 淮北做网站的公司有哪些益阳市网站建设
  • 局门户网站建设工作汇报模板网站的优势有哪些
  • 响应式外贸营销网站百度爱采购下载app
  • 太原手机网站设计淘宝网官网登录
  • 湘潭网站建设 多少费用磐石网络为企业进行网站建设方案
  • 无锡网站建设原则企业网站规划要求
  • wordpress10和3优先级外链seo
  • 建设久久建筑网站网站 多语
  • 做棋牌网站要什么源码网站备案幕布照规范
  • 建网站哪家好国外平面设计网站大全
  • 帮忙做ppt的网站网站建设兼职平台
  • 建筑资质证书查询网站建造师证书查询官网
  • 建设个人购物网站wordpress前面头部目录框
  • 以个人名义可以做网站吗seo排名查询
  • 网站制作设计发展前景事件营销ppt
  • 如何做网站本地服务器上海松江区网站建设
  • 网站维护目标广告公司业务推广
  • pc端和移动端的网站区别是什么买空间送网站模板
  • 鄱阳电商网站建设wordpress文章底部
  • 海外推广的网站有哪些中国企业网
  • 网站公司简介模板wordpress 文章发布时间
  • 建站卖素材楚雄市城乡建设局网站
  • 网站做预览文档开发一个小程序的流程
  • tp5.1做的网站国外的做的比较优秀的网站有哪些
  • 云南网站新备案制网站SEO做点提升流量象客
  • 网站建设功能清单网站欢迎页制作
  • 山西做网站推广适合做外链的网站