首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

如何把一个存储过程得到的值保存到变量里面

2012-02-15 
怎么把一个存储过程得到的值保存到变量里面?一个存储过程最后一句是select@maxnum执行这个存储过程execpro

怎么把一个存储过程得到的值保存到变量里面?
一个存储过程
最后一句是select   @maxnum
执行这个存储过程exec   pro_no   '参数 '
就是得到一个一行一列的结果集
我定义了一个变量@ID
怎么把执行这个存储过程后得到结果集里面的值放到参数@ID里面去?
我用
declare   @ID
exec   @ID   =   pro_no   '参数 '
select   @ID
得到的结果是0
应该怎么写?
还是要把存储过程的返回值写成return   @maxnum?

[解决办法]
把存储过程的返回值写成return @maxnum試試
[解决办法]
或者可以用輸出參數
[解决办法]
如果是一个数据,用return就行了
[解决办法]
使用output就可以,来自帮助文档的一个例子:
USE pubs
GO
IF EXISTS(SELECT name FROM sysobjects
WHERE name = 'titles_sum ' AND type = 'P ')
DROP PROCEDURE titles_sum
GO
USE pubs
GO
CREATE PROCEDURE titles_sum @@TITLE varchar(40) = '% ', @@SUM money OUTPUT
AS
SELECT 'Title Name ' = title
FROM titles
WHERE title LIKE @@TITLE
SELECT @@SUM = SUM(price)
FROM titles
WHERE title LIKE @@TITLE
GO

热点排行