5

假设我有一个这样的存储过程:

begin try drop procedure test_print end try begin catch end catch;
go
create procedure test_print
as
begin
print 'Hello'
print 'World';
end
go

exec test_print

如何捕获存储过程 test_print 中的打印消息并将其保存到变量中?

谢谢。

4

1 回答 1

6

你不能在 T-SQL 中。信息输出总是发送给客户端。所以你必须是捕获它的客户。一个简单的解决方法是从 SQLCLR 调用该过程。然后你可以简单地连接InfoMessage事件并获得 calee 输出。

于 2013-03-08T11:17:23.367 回答