以下の SQL Server 2008 R2 でストアド プロシージャを作成できましたが、ストアド プロシージャがトランザクションを使用し、insert ステートメントのエラーをチェックする方法で作成する必要があるため、レンガの壁にぶつかっています。エラーが見つかった場合、トランザクションはロールバックされ、何もコミットされません。どんな助けでも大歓迎です。
Northwind を使用 GO CREATE PROC spEmployee @EmployeeID int AS SELECT * FROM employees WHERE EmployeeID=''+@EmployeeID+'' GO EXEC spEmployee @EmployeeID=2 GO
CREATE PROC spEmployee @EmployeeID int
AS BEGIN トランザクション
SELECT * FROM 従業員 WHERE EmployeeID=''+@EmployeeID+''
GO EXEC spEmployee @EmployeeID=2
GO IF @@エラー <> 0
始める
ロールバック
RAISERROR (「EXECUTE 後のトランザクション数は、BEGIN ステートメントと COMMIT ステートメントの数が一致していないことを示しています。前の数 = 1、現在の数 = 2.」、16、2)
戻る
終わり
専念