存储过程解析
来源:互联网 发布:mysql数据库表引擎 编辑:程序博客网 时间:2024/06/13 10:34
定义:
一组预编译的SQL语句,它可以包含数据操纵语句、变量、逻辑控制语句等。
优点:
1、执行速度更快
2、允许模块化程序设计
3、提高系统安全性
4、减少网络流通量
创建和调用存储过程
数据库结构如下:
SELECT TOP 1000 [id]
,[writtenExam]
,[labExam]
,[stuName]
,[stuNo]
FROM [pubs].[dbo].[StuInfo]
内容如下:
一、不带参数的存储过程
Create procedure [dbo].[pro_StuInfo]
as
declare @writtenAvg float,@labAvg float --用到输出的变量
begin
select @writtenAvg = AVG(writtenExam),@labAvg=AVG(labExam) from StuInfo
print '笔试平均分:'+ convert(nvarchar(50),@writtenavg)
print '机试平均分:'+ convert(nvarchar(50),@labAvg)
end
--执行存储过程
EXEC pro_StuInfo
--结果
笔试平均分:65
机试平均分:55
二、带参数的存储过程
Create procedure pro_StuInfo1
@writtenAvg float = 50,@labAvg float = 50 --参数变量
as
begin
print '及格的学生如下:'
select * from StuInfo where writtenExam >= @writtenAvg and labExam >= @labAvg
end
go
--默认执行
EXEC pro_StuInfo1
--修改参数执行
EXEC pro_StuInfo1 60,70
--指定参数值
EXEC pro_StuInfo1 @labAvg=60
三、带输出参数
Create procedure pro_StuInfo2
@outpasscount int output,
@writtenAvg float = 50,@labAvg float = 50
as
begin
select @outpasscount = COUNT(*) from StuInfo where writtenExam >= @writtenAvg and labExam >= @labAvg
end
go
--执行存储过程
DECLARE @outpasscount int
EXEC pro_StuInfo2 @outpasscount OUTPUT
PRINT '及格的学生数为:' + convert(nvarchar(50),@outpasscount)
--执行结果如下:
及格的学生数为:3
- 存储过程大解析
- MySQL存储过程解析
- sql解析存储过程
- 存储过程解析
- ASP与存储过程解析
- sql触发器存储过程解析
- 存储过程中解析xml
- Mysql存储过程实例解析
- MySql存储过程实例解析
- 解析mysql的存储过程
- DB2存储过程语法解析
- oracle存储过程详细解析
- Oracle 存储过程 解析xml
- DB2存储过程命令解析
- 转:深入解析什么是存储过程
- 经验总结:ASP与存储过程解析
- 经验总结:ASP与存储过程解析
- 经验总结:ASP与存储过程解析
- Codeforces805D. Minimum number of steps
- [树链剖分] BZOJ 4811 [Ynoi2017]由乃的OJ
- sourceInsight 入门教程
- liunx版本的JDK下载
- bzoj4241: 历史研究
- 存储过程解析
- java 基础
- MySQL表关联数量限制
- spring学习(二):ioc原理
- 【DP】BZOJ4300[绝世好题]题解
- 第五章5.1 strace
- 【Codeforces Round #411 (Div. 1)】Codeforces 804C Ice cream coloring
- Python持久存储--数据保存到文件
- uikit——UIView——tintColor tintAdjustmentMode