数据库存储过程和触发器(数据库存储过程)
你们好,最近小活发现有诸多的小伙伴们对于数据库存储过程和触发器,数据库存储过程这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、存储过程的优点
2、执行速度更快
3、允许模块化程序设计
4、提高系统安全性
5、减少网络流通量
6、--定义存储过程的语法
7、 CREATE PROC[EDURE] 存储过程名
8、 @参数1 数据类型 = 默认值 OUTPUT,
9、 …… ,
10、 @参数n 数据类型 = 默认值 OUTPUT
11、 AS
12、 SQL语句
13、 GO
14、--创建存储过程的例子
15、CREATE PROCEDURE proc_stu
16、 AS
17、 DECLARE @writtenAvg float,@labAvg numeric(6,2)--定义变量
18、 SELECT @writtenAvg=AVG(written),
19、 @labAvg=AVG(lab) FROM Exam
20、 print '笔试平均分:'+convert(varchar(6),@writtenAvg)
21、 print '机试平均分:'+convert(varchar(6),@labAvg)
22、 IF (@writtenAvg>70 AND @labAvg>70)
23、 print '本校考试成绩:优秀'
24、 ELSE
25、 print '本校考试成绩:较差'
26、 print '--------------------------------------------------'
27、 print ' 参加本次考试没有通过的学员:'
28、 SELECT stuName,stuInfo.stuNo,written,lab
29、 FROM stuInfo INNER JOIN exam ON
30、 stuInfo.stuNo=exam.stuNo
31、 WHERE written<60 OR lab<60
32、GO
33、--调用存储过程
34、EXEC proc_stu 60,55
35、--或这样调用:
36、EXEC proc_stu @labPass=55,@writtenPass=60
37、EXECUTE(执行)语句用来调用存储过程 调用的语法
38、EXEC 过程名 [参数]
39、存储过程的参数分两种:
40、输入参数 输出参数
41、输入参数: 用于向存储过程传入值,类似C语言的按值传递;
42、输出参数: 用于在调用存储过程后, 返回结果,类似C语言的 按引用传递;
43、--例子输出参数
44、CREATE PROCEDURE proc_stu
45、 @notpassSum int OUTPUT,
46、 @writtenPass int=60,
47、 @labPass int=60
48、 AS
49、 print '--------------------------------------------------'
50、 print ' 参加本次考试没有通过的学员:'
51、 SELECT stuName,stuInfo.stuNo,written,lab
52、 FROM stuInfo INNER JOIN Exam
53、 ON stuInfo.stuNo=exam.stuNo
54、 WHERE written<@writtenPass
55、 OR lab<@labPass
56、 SELECT @notpassSum=COUNT(stuNo)
57、 FROM Exam
58、 WHERE written<@writtenPass
59、 OR lab<@labPass
60、GO
61、/*---调用存储过程----*/
62、DECLARE @sum int
63、EXEC proc_stu @sum OUTPUT ,64
64、print '--------------------------------------------------'
65、IF @sum>=3
66、 print '未通过人数:'+convert(varchar(5),@sum)+ '人,
67、 超过%,及格分数线还应下调'
68、ELSE
69、 print '未通过人数:'+convert(varchar(5),@sum)+ '人,
70、 已控制在%以下,及格分数线适中'
71、GO
72、修改存储过程
73、ALTER PROCEDURE proc_stu …
74、删除存储过程
75、DROP PROCEDURE proc_stu
以上就是数据库存储过程这篇文章的一些介绍,希望对大家有所帮助。
免责声明:本文由用户上传,如有侵权请联系删除!
猜你喜欢
- 01-30
- 01-30
- 01-30
- 01-30
- 01-30
- 01-30
- 01-30
- 01-30
最新文章
- 01-30
- 01-30
- 01-30
- 01-30
- 01-30
- 01-30
- 01-30
- 01-30