CREATE PROCEDURE 中关于 OUTPUT 的想法
孤剑 2006-12-19 11:13:49 一个简单的存储过程:
CREATE Procedure getTree
/* Param List */
@treeId int,
@treeString varchar OUTPUT,
@count int OUTPUT
AS
SELECT [name] ----- 需要注意的地方
FROM [tree]
WHERE [id]=@treeid
SELECT @count=COUNT(*)
FROM [tree]
WHERE [id]=@treeid
DECLARE @string VARCHAR,@sum int
EXECUTE getTree 3,@string OUTPUT,@sum OUTPUT
PRINT ' Total Record(s) : ' + CONVERT(varchar,@sum)
PRINT @string
GO
正常执行的结果为:
(返回 0 行)
name
----------
Node_3
Total Record(s) : 1
完成脚本 E:\projects\app\SqlTest\Create Scripts\getTree.sql 执行
问题是:
就是上面需要注意的地方的内容,更改成:SELECT @treeString =[name]
那么,在vs.net的数据库项目中,产生结果:
正在执行脚本 E:\projects\app\SqlTest\Create Scripts\getTree.sql
完成脚本 E:\projects\app\SqlTest\Create Scripts\getTree.sql 执行
为什么,更改后的结果就不显示呢?
都是使用了OUTPUT的,怎么就有这样的差别呢?
请赐教!