第四章:存储过程
一:第三章相关回顾:
1、T-SQL中如何定义一个变量?
declare 变量名 数据类型 2、T-SQL中的全局变量和和局部变量的标识分别是什么?
全局变量@@,局部变量@
3、我们曾学习过的查询,合并多个表中的数据的方法有哪些?
联合(Union)-合并多个数据表中的行 子查询-将一个查询包含到另一个查询中 联接-合并多个数据表中的列
二:第四章内容
1、 存储过程有哪些优点:执行速度快、模块式编程、减少网络流量、提高安全性
2、 存储过程主要分为哪两类:系统存储过程、用户自定义存储过程
3、 如何创建一个存储过程:create procedure 存储过程名称
4、 如何调用一个存储过程:EXECUTE 存储过程名称 参数1,参数2…
5、 常用的系统存储过程:系统存储过程 说明
sp_databases 列出服务器上的所有数据库。
sp_helpdb 报告有关指定数据库或所有数据库的信息
sp_renamedb 更改数据库的名称
sp_tables 返回当前环境下可查询的对象的列表
sp_columns 回某个表列的信息
sp_help 查看某个表的所有信息
sp_helpconstraint 查看某个表的约束
sp_helpindex 查看某个表的索引
sp_stored_procedures 列出当前环境中的所有存储过程。
sp_password 添加或修改登录帐户的密码。
sp_helptext 显示默认值、未加密的存储过程、用户定义的存储过程、触发器或视图的实际文本。
6、如何创建存储过程?
(1)定义存储过程的语法
和C语言的函数一样,参数可选 (2)参数分为输入参数、输出参数 (3)输入参数允许有默认值
例如:CREATE PROC[EDURE] 存储过程名
@参数1 数据类型 = 默认值 OUTPUT,
…… ,
@参数n 数据类型 = 默认值 OUTPUT
AS
(2)SQL语句
GO7、调用带多个参数默认值的存储过程
:
Create procedure 存储过程名称
参数1
参数1 数据类型=默认值, 参数2 参数2数据类型=默认值
as……
EXEC 存储过程名称 --都采用默认值
EXEC 存储过程名称 参数1的值 --参数2采用默认值
EXEC 存储过程名称 参数1的值 ,参数2的值 --都不采用默认值
7、正确的调用方式:
EXEC 存储过程名 称参数2=参数2的值 8、-创建存储过程,用户新增电脑,并使用return返回新增电脑的编号
create procedure proc_addpc
@pcnode varchar(20)
as
8、插入数据,默认使用状态为空闲
insert into pcinfo values(0,@pcnode)
9、返回当前自动增长列的值
return @@identity
go
10、调用存储过程
declare @pcid int--声明变量,用于保存存储过程的返回值
11、执行存储过程,为变量赋值,并指定输入参数 exec @pcid=proc_addpc '新增的电脑'
select @pcid as '新增电脑编号' --输出变量
12、T-SQL中Return有什么作用?
Return关键字可以终止存储过程或者返回数值
13、T-SQL中输出错误信息的方法和print输出有什么区别?
用PRINT语句显示错误信息,但这 些信息是临时的,只能显示给用户;
RAISERROR 显示用户定义的错误信息时可指定严重级别设置系统变量@@ERROR,记录所发生的错误等