SQL语句中怎样使用存储过程的返回值呢?

xueyhfeng 2006-07-25 07:38:42
比如SQL语句如下

update table1 set column1 = xxx ,xxx是存储过程的返回值,并且这个存储过程要使用table1的某列作为参数



写成如下的格式,总是报语法错误
update table1 set column1 = (exec procname table1.columnName)
...全文
149 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xueyhfeng 2006-07-25
谢各位,用function搞定了。
回复
fcuandy 2006-07-25
给你个例子

CREATE PROC Test
(@c INT OUTPUT)
AS
BEGIN

SELECT @c=COUNT(*) FROM v
END


----------------


DECLARE @c INT
EXEC test @c OUTPUT
SELECT * FROM TB WHERE ID=@c

虽然这个例子没有意义,但说明了语法和使用问题。


另外楼主需要一个FUNCTION,而不是PROC
回复
九斤半 2006-07-25
关注。
回复
龙翔飞雪 2006-07-25
update table1 set column1 = 后面必须是function, 而不是procedure.
例如:
update table1 set column1 = function1 (参数1, 参数2....);
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2006-07-25 07:38
社区公告
暂无公告