假设我有一个这样的存储过程:
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中的打印消息并将其保存到变量?
感谢。
答案 0 :(得分:5)
你不能在T-SQL中。信息输出始终发送给客户端。因此,您必须是捕获它的客户端。一个简单的解决方法是从SQLCLR调用该过程。然后你可以简单地挂钩InfoMessage
事件并获得calee输出。