我有存储过程,它使用几个函数,这些函数正在比较一些数据。例如:
功能一:
if @x is not null
begin
if @x > @y
return 'y cannot be less than x'
在存储过程中,我声明了一些变量,它们是我们的 X 和 Y。
然后我开始新的交易,例如:
begin tran test;
exec [dbo].[My_stored_procedure] # stored prodecure which using function I wrote above.
'some_value','some_value' # our X and Y
rollback test;
一切正常,当满足函数 (x > y) 的条件时,我们可以看到返回的消息“'y 不能小于 x'”。我希望将该消息保存在变量或表中,但不编辑存储过程/函数。我尝试过这样的事情:
begin tran test;
CREATE TABLE stored_test
(
result nvarchar(2000)
)
INSERT INTO stored_test(result) exec [dbo].[My_stored_procedure]
'some_value','some_value'
rollback test;
它有效,但“结果”是空的。我希望它包含来自函数的返回消息,这些消息在存储过程中使用。