SQLServer2008数据库实用技术参考例题(9)存储过程和触发器
存储过程和触发器例12-1
/*例12-1简单存储过程举例,查询不及格课程超过4门的学生并将其信息存入退学表*/
CREATE PROC Query_Proc
AS
INSERT INTO tuixue
SELECT*
FROM stu_info
WHERE stu_id IN (SELECT stu_id
FROM stu_grade
WHERE grade <60
GROUP BY stu_id
HAVING COUNT(*)>4
);
例12-2
/*12-2带参数从存储过程举例,输入学号和课程号,输出成绩*/
CREATE PROC Query_Grade
(
@stu_id VARCHAR(10),
@course_name VARCHAR(20),
@grade INT OUTPUT
)
AS
SELECT @grade=grade
FROM stu_grade,course_info
WHERE stu_grade.course_id=course_info.course_id
AND stu_id=@stu_id AND course_name=@course_name
例12-3
/*例12-3修改存储过程示例,将存储过程Query_Proc修改为查询某个学生不及格的课程数*/
ALTER PROC Query_Proc
(
@stu_id VARCHAR(10),
@num INT OUTPUT
)
AS
SELECT @num=COUNT(*)
FROM stu_grade
WHERE grade
例12-4
/*例12-4执行存储过程Query_Proc*/
EXEC Query_Proc 例12-5
/*例12-5按顺序给参数赋值,执行存储过程例Query_Grade,查询2007070201的操作系统这门课的成绩*/
DECLARE @score INT
EXEC Query_Grade"2007070201","操作系统",@score OUTPUT
SELECT @score
例12-6
/*12-6按名称对参数赋值*/
DECLARE @score INT
EXEC Query_Grade @stu_id="2007070101",
@course_name="操作系统",
@grade=@score OUTPUT
SELECT @score
例12-7
/*例12-7使用输出参数返回数据,返回某个系的学生个数*/
CREATE PROC Count_Proc_1
(
@dept_name VARCHAR(20),
@num INT OUTPUT
)
AS
SELECT @num=count(*)
FROM stu_info
WHERE sdept=@dept_name 例12-8
/*例12-8使用Return语句返回执行状态*/
CREATE PROC Count_Proc_2
(
@dept_name VARCHAR(20),
@num INT OUTPUT
)
AS
IF @dept_name=""
BEGIN
PRINT"请输入系名!"
RETURN 1
END
SELECT @num=count(*)
FROM stu_info
WHERE sdept=@dept_name
IF @num=0
BEGIN
PRINT "系名不正确,或该系目前没有学生"
RETURN 2
END
RETURN 0
例12-9
/*例12-9 INSERT 触发器示例。在课程表中插入新的课程时,检查插入的记录是否满足参照完整性*/
CREATE TRIGGER insert_course ON course_info
FOR INSERT
AS
DECLARE @pre_course_id CHAR(3)
SELECT @pre_course_id =pre_course_id FROM inserted
IF @pre_course_id not IN (SELECT course_id FROM course_info)
BEGIN
RAISERROR("输入的先行课程不存在!",16,10)
ROLLBACK TRAN
END
例12-10
/*例12-10创建一个Update触发器,防止用户修改学生的入学成绩*/
CREATE TRIGGER update_stu on stu_info
FOR UPDATE
AS
IF UPDATE(mark)
BEGIN
RAISERROR ("不能修改入学成绩!",16,10)
ROLLBACK TRAN
END
例12-11
/*例12-11创建一个delete触发器,将删除的记录存入一个备份表*/
CREATE TRIGGER delete_stu on stu_info
FOR DELETE
AS
INSERT INTO stu_backup
SELECT *FROM deleted
例12-12
/*例12-12 创建Update触发器实现级联修改*/
CREATE TRIGGER update_course ON course_info
FOR UPDATE
AS
DECLARE @new_id CHAR(3),@old_id CHAR(3)
SELECT @new_id =course_id FROM inserted
SELECT @old_id =course_id FROM deleted
IF UPDATE(course_id)
UPDATE course_info
SET pre_course_id=@new_id
WHERE pre_course_id=@old_id
例12-13
/*例12-13设计DDL触发器,紧张修改和删除当前数据库中的任何表*/
CREATE TRIGGER safety
ON DATABASE
FOR DROP_TABLE,ALTER_TABLE
AS
PRINT "不能修改和删除表!"
ROLLBACK
;
例12-14
/*例12-14 创建登录触发器如果某登录帐号已经创建5次,则禁止该登录帐号的登录尝试*/
CREATE TRIGGER connect_limit_trigger5
ON ALL Server
FOR Logon
AS
BEGIN
IF (SELECT count(*) FROM sys.dm_exec_sessions
WHERE is_user_process =1 AND original_login_name=ORIGINAL_LOGIN())>5
ROLLBACK
END
; 例12-15
/*例12-15删除触发器insert_course*/
DROP TRIGGER insert_course
例12-16
/*例12-16删除DDL触发器safety*/
DROP TRIGGER safety ON DATABASE
例12-17
/*例12-17删除登录触发器connection_limit_trigger*/
DROP TRIGGER connect_limit_trigger ON ALL SERVER
总投资4048。7亿,宁夏2023年自治区本级重点建设项目名单宁夏2023年自治区本级重点建设项目名单序号项目名称建设性质建设起止年限总计(101项)一重大产业项目(67项)(一)工业项目(57项)1hr宁夏宝丰昱能科技有限公司电池及储能集装
数读供应链中断致库存高于预期,大众集团2022年业绩预告出炉文懂车帝原创魏微懂车帝原创行业当地时间2月7日,据路透社报道,大众汽车集团发布2022年业绩预告。大众集团表示,尽管2022年收入和利润双双增加,但供应链中断对其现金流造成压力。大
Redis快速实战简单介绍常见的缓存及分类在大型网站中从浏览器到网络,从网络到服务器,从服务器到数据库等各个层面都有资源数据消耗,并且在大型网站建设过程中在每个层次上都应用了大量的缓存技术,使用这些缓存技术也极大的提升了系
QQ24岁啦!腾讯将推出全新QQ9版本,现已开启预约IT之家2月10日消息,腾讯今日悄然上线了焕然一新的QQ官网,并提供了全新的QQ9版本预约功能。值得一提的是,目前QQWindows版本号已达到9。7。1而Linux版虽已上线基于
九头身美女与宋慧乔同亮相活动,身穿绿色修身裙Slay全场!近日,宋慧乔亮相时尚活动,身穿绿色外套和随性的甜美发型,面色红润有光泽,颜值回归。在前不久的黑暗荣耀中,宋慧乔在剧中憔悴面部下垂皱纹等问题,难免让人叹息美人迟暮,不过这么一看,女神
换季穿什么一波儿看到就想保存的灵感图不知道大家是否有同样的习惯,平时看到好看的穿搭图片就会随手保存下来。在不知道穿什么的时候或者换季的尴尬期,偶尔拿出来翻一翻,总会找到不少灵感。Insliestudio看了看相册,脑
这6款高保湿面霜拯救干燥太绝了!天气干燥的时候,如果没有一瓶好面霜帮助锁住水分,肌肤干燥紧绷起皮就是分分钟的事。像这种皮肤严重缺水的状况看着就脸疼。我们日常护肤用到的爽肤水乳液面膜,只能暂时地缓解皮肤表面的干燥缺
有价值,你才有用有价值的人,才有吸引力。所谓的人脉,不是你认识谁,而是你能带给谁什么样的利益。如果你想找到自己的人脉,就要使自己变得对别人有价值。只要你有了价值,人脉自然来。梧高凤必至,花香蝶自来
今天外面冷了!为什么这样说呢?天气不好了,看不清外面的世界,玻璃的霜雪还在为即将结束的冬天做最后的抗争!外面似乎下雪了吧!这令我想起了鲁迅先生说朔方的雪,她绝不粘连。今天的雪虽小,却也
为什么有人突然变得很厉害?1。心可以碎,手不能停当你压力大到要崩溃的时候,不要跟别人讲,也不要觉得自己委屈,才华和胸怀是委屈撑大的。在夜深人静的时候,把心掏出来自己缝缝补补,然后一觉醒来,又是信心百倍。无人
秋言物语I50。心念的结果长短相形,高下相倾,音声相和,前后相随。Longandshort,highandlow,soundandvoice,beforeandafterwerebornagainsteac
安徽板面商用配方大家好我是宝哥做美食今天跟大家分享实体店板面配方觉得老弟对有帮助的话记得关注一下哦板面熬油用料表火锅牛油16斤金牧哥牌鸡油2斤满亦多牌。猪油1斤满亦多牌菜籽油3斤碗留香牌。大豆油8
血小板减少症饮食指南冬笋篇霜降已经过去,马上迎来的就是冬季的第一个节气立冬,冬季的开始意味着天气变冷,而人体能量的主要来源则是食物。血小板减少症饮食指南冬笋篇冬笋一般是立冬前后上市,冬笋口感幼嫩,水分足,因
凭什么他马斯克这么豪横,就敢一降再降!难道真的因为我们太笨特斯拉又要降价了,凭什么马斯克可以降降降,国产品牌过的就如此艰难?9月,特斯拉宣布,购车符合标准的,可享受8000元保险补贴。10月24日,特斯拉全系车型降价,降价幅度1。4万3。
他是李白的偶像,一手王炸却打成烂牌,一口气看完孟浩然的一生公元689年孟浩然出生于一个相对富贵的家庭,是孟子的33世孙,殷实的家境不但让他有着任性的资本,同时也给了他良好的教育环境。公元706年18岁的他刚参加襄阳县试便高中榜首一战出名,
很潮很高雅的心情语录,精致唯美,触动心灵1。整理一下自己的心情,忘记那些不愉快的往事,听听音乐,看看风景,说能说的话,做可做的事,走该走的路,见想见的人。2。生命中总会有一些不期而遇的温暖,也会有些局中人的纠结,最好的状
全国冠军!达州姑娘太牛了11月10日晚,当很多达州人还在计划啷唉清空双11购物车的时候,有几个达州妹纸却在赛场上挥汗如雨!在2022年全国女子曲棍球锦标赛冠亚军决赛中,四川队5。5比1。5战胜辽宁队,获得
这个双11,其实没有意外头条创作挑战赛双11已经过了追求表面数字的年纪,高质量增长才是它未来的主旋律。作者季末出品新摘商业评论14,是一个被赋予许多意义的数字。比如中国有14亿人口,中华上下五千年最牛的一
吉利与雷诺合作后,沃尔沃却意外退出近期,吉利汽车动作频繁,先是宣布极氪分拆几何汽车挺进欧盟市场,不几日就再次宣布与雷诺集团成立动力合资公司,在眼花缭乱的布局背后,沃尔沃却悄悄退出了与吉利动力研发合作,引发两者合作蜜
正式任命,李晓勇亮相新岗位,联手杨鸣太惊喜,薪资待遇曝光李晓勇,中国男篮历史上最好的球员之一,如果这个选择标准是控球后卫的话,很多名宿和球迷一直都认为中国男篮最强的控卫并不是郭艾伦,也不是刘炜,而是个人进攻和组织能够完美融合的李晓勇。出
他是开国中将,1948年立下大功,临终留下遗言要在塔山陪伴战士解放战争时期,我军一共发起了三大阻击战,分别是塔山阻击战黑山阻击战以及徐东阻击战,这三大阻击战都对战争的结局起到了决定性的作用,是解放战争过程中的重要战役。在三大阻击战中,塔山阻击
古稀之年谈养生(26)在这篇文章中,我们重点来谈一下六谷对人体五脏六腑的关联。中华中医学理论讲平衡,据说六谷会滋养人体中的五脏六腑。他有具体的分工,一种谷物滋养一个脏器,中医是这样讲的,信不信由你。所谓