sql server 存储过程

存储过程(stored procedure)

一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

1.新建自己的存储过程

create procedure spPerson_GetAll
as
begin
	select id,FirstName,LastName
	from Person;
end

其中的spPerson_GetAll为存储过程的名称,begin和end中间的就是我们需要执行的SQL 语句。

2.修改存储过程,把create换成alter即可

alter procedure spPerson_GetAll
as
begin
        --不输出受影响行数
	set nocount on;
	select id,FirstName,LastName,EmailAddress
	from Person;
end

其中的set nocount on可以指示是否需要输出受影响行数的信息。

3.执行存储过程

exec spPerson_GetAll;

4.新建一个带单个参数的存储过程

create procedure spPerson_GetByLastName
	@lastname varchar(50)
as
begin
	select id,FirstName,LastName,EmailAddress
	from Person
	where LastName=@lastname
end

用@接自己需要定义的参数,后面需要声明其类型。

调用的话:

--调用带参数的stored procedure
exec spPerson_GetByLastName @lastname='Ducket'
--也可以这样直接调用,多参数的时候按照顺序输入参数即可
exec spPerson_GetByLastName 'Ducket'

5.带多个参数的存储过程

alter procedure spPerson_GetByLastName
	@lastname varchar(50),
	@firstname varchar(50)
as
begin
	select id,FirstName,LastName,EmailAddress
	from Person
	where LastName=@lastname and FirstName=@firstname
end

调用:

--调用
exec spPerson_GetByLastName @lastname='Ducket',@firstname='Stanley'
--也可以这样调用
exec spPerson_GetByLastName 'Ducket','Stanley'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值