怎么把一个存储过程得到的值保存到变量里面?
一个存储过程
最后一句是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