如何在从函数执行存储过程时抑制sqlcmd返回的消息?

时间:2014-02-05 20:55:12

标签: sql-server sql-server-2008 tsql sqlcmd

由于某种原因,我不得不从一个函数执行存储过程,因为它是不可能的,我按照Stackoverflow :: Execute Stored Procedure from a Function

中的说明进行了尝试

而不是osql,我试过sqlcmd。它工作正常,但我得到多个空白行,------行和NULL值行。

此功能无法更改为存储过程。

有没有办法抑制这些消息和不需要的行?

或者在函数内执行存储过程有什么替代方法吗?

enter image description here

SQL:

master..xp_cmdshell 'sqlcmd -COM252\INSTANCE2008 -E -q 
       "SET NOCOUNT ON;
        exec MyDatabaseName..storedProcName ''param1'', ''param2'' "'

我甚至试图推动临时表,但不幸的是,在功能上无法访问临时表。

1 个答案:

答案 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'' "'