gist

2008年6月13日金曜日

エラーが発生したらロールバックする

BEGIN TRANSACTION MyTransaction
INSERT INTO Patient VALUES ('テスト患者', '2004/1/5')
SELECT @ins_error = @@ERROR

IF @ins_error = 0
BEGIN
COMMIT TRANSACTION MyTransaction
END
ELSE
BEGIN
PRINT 'エラーが発生したのでロールバックします'
ROLLBACK TRANSACTION MyTransaction
END

SQL Server 2005では構造化例外が使用可能なようです。
まだまだ現役のSQL Server 2000の全機能のうち、僕の会社では2%も使っていないと思われます。Excel以下のひどい扱いです。せめてトランザクションが使えるようになってほしいです。何だか言っていることが悲しいです。

0 件のコメント: