0
我有存儲過程,它使用了幾個函數,並且這些函數正在比較一些數據。 例如:從存儲過程解析返回值到表/變量
功能之一:
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;
它的工作原理,但「結果」是emtpy。我希望它包含來自函數的返回消息,這些消息在存儲過程中使用。
你是什麼意思「返回消息」?爲了使'insert into ... exec'工作,你必須通過在程序中使用'select <你的函數>()'來返回程序中的記錄集,例如。 –
回滾會取消所有操作,並且您的功能在哪裏 –
是的,它會取消所有操作,但在此之前我應該看到SELECT的結果,我只是沒有將它包含在下面的代碼中,這是我的錯誤。 –