SQLでトランザクションを使用する方法
データベース記憶域は、ビジネスストアのレコードをサーバー上に効率的かつ便利に保存するのに役立ちます。 レコードが拡張および変更されると、構造化照会言語(SQL)を使用してデータベース内のテーブルを追加および削除できます。 間違いが起こる可能性があり、誤って表をドロップすると、ビジネスの時間とリソースにコストがかかる可能性があります。 データベースに問い合わせるときにトランザクションを使用すると、問題が発生した場合の作業のための復元ポイントが提供されます。 トランザクションは一連のSQLステートメントをアトミック単位にグループ化します。
1。
スタートボタンをクリックして、検索フィールドに「cmd」と入力します。 コマンドウィンドウで、サーバーに接続するためのSQLクライアントプログラムの名前を入力します。 使用するプログラムによっては、コマンドラインからプログラムに引数を渡す必要があるかもしれません。 たとえば、MySQLを使用している場合は、次のコマンドを入力します。
mysql -u root -p mysql
要求されたらパスワードを入力してください。
2。
次のコードのように、BEGIN TRANSACTIONキーワードを使用して匿名トランザクションを開始します。
BEGIN TRANSACTION; 在庫更新SET cost = cost + 1.25 LIKE 'light%'のような名前。
MySQLを使用している場合は、次のように「BEGIN」を「START」に置き換えます。
取引を開始します。
3。
COMMIT WORKキーワードまたはCOMMIT TRANSACTIONキーワードを使用して、コードブロック全体を実行します。 ROLLBACK WORKまたはROLLBACK TRANSACTIONキーワードを使用してトランザクションを元に戻します。 次の行のように、コマンドをセミコロンで終了します。
ROLLBACK WORK;
4。
次のコードのように、トランザクションステートメントの末尾に変数名を追加して名前付きトランザクションを開始します。
開始トランザクションt1; CREATE TABLE books SELECT ID、サプライ品のタイトル。 開始トランザクションt2; ドロップテーブル用品。 トランザクション処理t1;
トランザクションの開始に使用した変数名を指定して、トランザクションをコミットまたはロールバックします。
ヒント
- Microsoft SQL Serverを使用している場合は、SAVE TRANSACTIONステートメントを追加してトランザクション内に復元ポイントを作成します。 たとえば、トランザクションに次の行を追加します。
- トランザクションの保管savepoint1;
- 後の作業で、次の例のように、条件付きステートメントを使用して変更を元に戻すか適用します。
- IF @@ TRANCOUNT = 0の場合
- コミットトランザクションsavepoint1;
- 名前付きトランザクションを開始すると、SQL Serverは自動的に“ @@ TRANCOUNT”変数を増やします。