我想在SQL server的select语句中调用存储过程。当我调用存储过程时,它会产生错误。
下面的select语句可能有什么问题?
Select i.item as col1, exec StoreProc_name(i.item) as col2
from tbl_item as i where i.item>100
这不起作用。在SQL服务器中调用存储过程的正确方法是什么。
答案 0 :(得分:0)
declare @table table as (
col2 as int
);
insert @table(col2)
exec StoreProc_name i.item;
这当然不是作为查询的一部分工作,而是仅在(不推荐)游标中工作 - 因此请检查定义Inline Table-Valued Function以替换存储过程。
请注意,存储过程应以此语句开头,以便OLEDB和ADO可以使用:
set nocount on;