sql-存储过程

存储过程简称过程,是为了完成某种功能而编写的程序段,相当于C语言中的函数或java中的方法

存储过程存放在数据库的“可编程性”组件中,属于数据库,和表、视图级别相同。存储过程允许用户声明变量,可以调用系统函数,经过编译后存储在数据库服务器中。存储过程可以接收输入参数,也可以将运行结果带出过程,还可以嵌套调用。

存储过程有以下4个功能:

1.减少网络流量

存储过程直接在服务器端运行,减少了与客户机的交互

2.增强了代码的重用性和共享性

3.加快系统运行速度

4.使用灵活

存储过程分类

1.系统存储过程。系统存储过程均以sp_开头

2.自定义存储过程

3.扩展存储过程

建立存储过程的命令格式

create procedure 存储过程名

[with encryption]

[@参数名 类型[= 默认值][output][,…n]]

as sql 语句

建立无参数存储过程

create procedure p1_all

as

begin

select *

from bookinfo

where publish=‘清华大学出版社’

执行后,可以在ssms管理器中找到这个存储过程

调用存储过程的时候,只需要在查询窗口输入存储过程名即可

如果存储过程不是处理的第一条语句,那么必须采用以下的格式:

execute 存储过程名[参数值]

例如调用p1_all的命令是

execute pa_all

其中execute可以简写为exec

建立有参数存储过程

参数包括形参和实参,定义参数时,需要明确规定是输入参数还是输出参数,参数后面加output就是输出参数,没加就是输入参数。

例:创建存储过程p3_writer,显示bookinfo中指定作者编写的全部图书

这里指定作者是一个形参,具体指需要在调用这个存储过程时输入。形参的类型还有长度必须与作者这个字段的类型和长度保持一致。假设参数名为editor。

create proc p3_writer
@editor varchar(8)
as
begin
select *
from BookInfo
where Writer=@editor
end
查询

exec p3_writer ‘胡伏湘’
查询结果如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值