SQL SERVERのコミット・トランザクションのロールバック機構
2022-01-05 13:01:22
1. ロールバック文 1.
xact_abort をオフに設定する
TRANを開始する
INSERT INTO score VALUES (101,90)
INSERT INTO score VALUES (102,78)
INSERT INTO score VALUES (107,76) /**//* Foreign Key Error */
INSERT INTO score VALUES (103,81)
INSERT INTO score VALUES (104,65)
COMMIT TRAN
行く
<スパン 結果1:エラー行のみロールバックされ、ステートメントは継続して実行されます。
-select * from score
101 90
102 78
103 81
104 65
2. ロールバック文 2.
XACT_ABORTをオンに設定する
BEGIN TRAN
INSERT INTO score VALUES (101,90)
INSERT INTO score VALUES (102,78)
INSERT INTO score VALUES (107,76) /**//* Foreign Key Error */
INSERT INTO score VALUES (103,81)
INSERT INTO score VALUES (104,65)
COMMIT TRAN
行く
結果2:トランザクションは終了し、全体がロールバックされ、結果はNULLである。
-select * from score
3. ロールバック文 3.
エラー行でトランザクションが終了、エラー行でロールバック、エラー行の前にロールバックなし
XACT_ABORTをオンに設定する
ビギン
INSERT INTO score VALUES (101,90)
INSERT INTO score VALUES (102,78)
INSERT INTO score VALUES (107,76) /**//* Foreign Key Error */
INSERT INTO score VALUES (103,81)
INSERT INTO score VALUES (104,65)
終了
行く
結果3: システムが各挿入文を個別のトランザクションとして扱うため、エラー行の前のものはロールバックされないため、この現象が発生します。
-select * from score
101 90
102 78
<リンク
関連
-
SQL SERVERのストアドプロシージャを使用した履歴データの移行について
-
DataGrip Formatting SQLの実装(カスタムSqlフォーマット)
-
MySQLスレーブ遅延1列外部キーチェックとセルフインクリメントロック
-
Filestreamの簡単な使い方まとめ
-
リレーショナルデータベースと非リレーショナルデータベースの紹介
-
SQL Serverでの判定文(IF ELSE/CASE WHEN)の使用例
-
SQLServerにおけるJSONドキュメント型データのクエリ問題を解決する。
-
SQL クエリ結果カラムのカンマ区切り文字列へのステッチング法
-
SQL SERVERオープンCDC実践講座詳細
-
データベース毎日練習問題、毎日少しづつ進歩(2)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SQL Server テーブルパーティション削除の詳細
-
Spark SQL 2.4.8 データフレームを操作するための2つの方法
-
SQLインジェクションとその防止、マイベイトの基本的な役割について
-
SQL Server 2017がサーバーに接続できない問題解決
-
SQL Server2017では、IPをサーバー名としてサーバーに接続します。
-
SQLの書き方--行ごとの比較
-
日付で年齢を判定するSQLサンプルコード 関数
-
SQL Server のジョブが失敗しました。所有者がサーバーアクセス権を持っているかどうか判断できない
-
SQLステートメントにおけるNULL値の扱い方
-
Spark SQLの全体的な実装ロジックの説明