由于某种原因,我不得不从一个函数执行存储过程,因为它是不可能的,我按照Stackoverflow :: Execute Stored Procedure from a Function
中的说明进行了尝试而不是osql,我试过sqlcmd。它工作正常,但我得到多个空白行,------
行和NULL
值行。
此功能无法更改为存储过程。
有没有办法抑制这些消息和不需要的行?
或者在函数内执行存储过程有什么替代方法吗?
SQL:
master..xp_cmdshell 'sqlcmd -COM252\INSTANCE2008 -E -q
"SET NOCOUNT ON;
exec MyDatabaseName..storedProcName ''param1'', ''param2'' "'
我甚至试图推动临时表,但不幸的是,在功能上无法访问临时表。
答案 0 :(得分:0)
没试过,但这个怎么样?
DECLARE @dummy TABLE(f1 varchar(max));
INSERT @dummy (f1)
EXEC master..xp_cmdshell 'sqlcmd -COM252\INSTANCE2008 -E -q
"SET NOCOUNT ON;
exec MyDatabaseName..storedProcName ''param1'', ''param2'' "'