实例1:只返回单一记录集的存储过程
银行存款表 (bankMoney) 的内容如下
Id userID Sex Money
1 Zhangsan 男 30
2 Wangwu 男 50
3 Zhangsan 男 40
要求 :查询表bankMoney 的内容的存储过程
create procedure sp_query_bankMoney
as
select * from bankMoney
go
exec sp_query_bankMoney
--注 在使用过程中只需要把 T-Sql中的SQL 语句替换为存储过程名
实例2:向存储过程中传递参数
加一笔记录到表 bankMoney,并查询此表中 userID= Zhangsan的所有存款的总金额。
Create proc insert_bank @param1 char (10), @param2 varchar (20), @param3 varchar(20 ),@param4 int,@param5 int output
with encryption ---------加密
as
insert into bankMoney (id, userID,sex ,Money)
Values(@param1 ,@param2, @param3, @param4)
select @param5 =sum( Money) from bankMoney where userID='Zhangsan'
go
在SQL Server查询分析器中执行该存储过程的方法是 :
declare @total_price int
exec insert_bank '004', 'Zhangsan',' 男', 100,@total_price output
print ' 总余额为'+ convert(varchar ,@total_price)
go
存储过程的种传回值:
1.以Return 传回整数
2.以output 格式传回参数
3.Recordset output和return 都可在批次程式中用变量接收 ,而recordset 则传回到执行批次的客户端中 。