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

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

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



写成如下的格式,总是报语法错误
update table1 set column1 = (exec procname table1.columnName)
...全文
178 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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....);

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧