- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL触发器实例
--建立触发器,显示修改人数
create trigger d1 on jun for insert,update as
select 你正在修改数据
declare @a varchar(20)
select @a=str(@@rowcount)+个学生被修改
select @a
select * from jun
return
insert into jun(爱好) values(跑步)
update jun set 爱好=打球 where 学号=103
--建立触发器,当男生人数在6个以内可以加入,否则不能加入
create trigger i1 on zg for insert as
if((select count(性别) from zg where 性别=男)6)
select 不能插入,男生人数已满。
else
select插入成功
select * from zg
insert into zg(学号,姓名,性别) values江渝,男)
--建立触发器,如果语文成绩在200以内可以修改,否则不能修改
create trigger u1 on zg for update as
if((select max(语文) from zg )200)
begin
select 你不能修改
rollback
end
else
select 修改成功
select * from zg
update zg set 语文=语文+10 where 姓名=唐荣强
update zg set 语文=语文-20 where 姓名=张军
update zg set 语文=语文+30 where 姓名=张军
--建立触发器,显示删除和修改的内容
create trigger d2 on zg for insert,update,delete as
select * from deleted
select * from inserted
select * from zg
delete from zg where 班级=Null
delete from zg where 姓名=张军
--建立触发器,如果zg表中没有此人的姓名,则不能在kc表中进行修改
create trigger i2 on kc for insert,update as
if(not exists(select 姓名 from zg where 姓名=(select 姓名 from inserted)))
begin
select 不能修改数据
rollback
select * from kc
end
else
begin
select 修改成功
select * from kc
end
update kc set 选修人数=选修人数+100 where 姓名=张军
--建立触发器,更行zg时也更新kc
create trigger u2 on zg for update as
select * from deleted
select * from inserted
update kc set 姓名=(select min(姓名) from inserted )where 姓名=(select min(姓名) from deleted)
select * from zg
select * from kc
update zg set 姓名=张晓军 where 姓名=张军
--建立触发器,如果加入的数2000就不能插入并将默认值为500
create trigger i3 on zg for insert as
if((select 语文 from inserted)2000)
begin
select 语文2000不合适
update zg set 语文=500
select * from zg
rollback
end
else
select 修改成功
insert into zg(班级,姓名,学号,语文) values(小数,王五2500)
--建立触发器,不能删除总成绩最高的人
create trigger d3 on zg for delete as
if( select 总成绩 from deleted) = ( select max(总成绩)from zg)
begin
select 删除的数为:
select * from deleted
select 不能删除成绩最高的一位
rollback
end
else
select 删除成功
select * from zg
delete from zg where 姓名=唐荣强
--建立触发器,英语增长不超过250%
create trigger u3 o
您可能关注的文档
- IBM3581磁带库手册.doc
- IBMXSeries346安装维护手册.doc
- Hp服务器的windows操作系统安装之二利用smartstart引导盘配置磁盘阵列.doc
- i40磁带库安装步骤.doc
- GSM-19Tv70操作手册.doc
- ICP前处理方法.doc
- IBM磁盘阵列教程(全面详细介绍).doc
- IG541施工方案.doc
- ipv6初始化和处理流程分析.docx
- ISO9000认证中的有效性.doc
- 2024学年第一学期浙江省精诚联盟10月联考高二物理试题含答案及解析.pdf
- 【山东卷】山东省泰安市2024-2025学年高三上学期11月期中考试(11.13-11.15)英语试卷含答案及解析.pdf
- 【浙江卷】浙江省杭州市四校联考2024-2025学年高一上学期10月月考英语试卷含答案及解析.pdf
- 西南大学附中高一10月月考生物试卷含答案及解析.pdf
- 辽宁省县域重点高中协作体2024~2025学年高一上学期10月质量监测试题历史试卷含答案及解析.pdf
- 基于多功能超疏水材料的海水淡化及油水分离研究.pdf
- FKBP5基因多态性与抚养方式对孤儿静息态脑功能的影响.pdf
- 《因明入正理论略抄及后疏》的研习与创作感受.pdf
- HIF-1α、SGK1在子宫内膜增生及子宫内膜癌孕激素抵抗中的表达和意义.pdf
- 初中信息科技大单元教学设计框架构建及应用研究--以《人工智能》大单元为例.pdf
文档评论(0)