0
ストアドプロシージャから発生した例外を格納する際に問題があります。出力変数としてストアドプロシージャから例外を発生させる
たとえば、私は2つのストアドプロシージャP_Add
とP_GetAdd
を持っています。
P_Add
は、 プロシージャP_GetAdd
がP_Add
を実行するように、ゼロで除算すると例外を戻します。
P_Add
によって生成された例外をP_GetAdd
が実行されているコードに戻したいとします。
P_Add
excetets提供されなかったパラメータがエラーです。 結果を得るのを助けてください。おかげさまで P_add
ストアドプロシージャを実行するとき
create procedure P_add
(
@ErrorMessage varchar (100) OUTPUT
)
as
Declare @a int
Declare @b int
declare @c int
set @a = 1
set @b = 0
Begin try
SET @c = @a/@b
end try
begin catch
SET @ErrorMessage = ERROR_MESSAGE();
End catch
create procedure P_getADD
(
@ErrorMessage1 varchar (100) OUTPUT
)
AS
IF EXISTS (
SELECT *
FROM sysobjects
WHERE id = object_id(N'[dbo].[P_add]')
AND OBJECTPROPERTY(id, N'IsProcedure') = 1
)
BEGIN
EXEC P_add @ErrorMessage = @ErrorMessage1
END
おかげで。しかし、RAISERROR()を使用して、親ストアドプロシージャにエラーをスローすることもできると思います。 –
答えは投稿された質問です。この回答が正しいと判明した場合は、問題が解決されたことを他の人が知るように、受け入れ済みとしてマークしてください。より良い答えが出た場合は、投稿して受け入れてください。 –