sql >> データベース >  >> RDS >> Sqlserver

SQL Serverセッションで自動コミットをどのように設定しますか?

    オートコミットをオンにするには、implicit_transactionsをオフに設定します:

    SET IMPLICIT_TRANSACTIONS OFF
    

    設定がONの場合、暗黙のトランザクションモードに戻ります。暗黙のトランザクションモードでは、変更を加えるたびに、手動でコミットする必要のあるトランザクションが開始されます。

    たぶん例はもっと明確です。これにより、データベースに変更が書き込まれます:

    SET IMPLICIT_TRANSACTIONS ON
    UPDATE MyTable SET MyField = 1 WHERE MyId = 1
    COMMIT TRANSACTION
    

    これにより、データベースに変更が書き込まれることはありません:

    SET IMPLICIT_TRANSACTIONS ON
    UPDATE MyTable SET MyField = 1 WHERE MyId = 1
    ROLLBACK TRANSACTION
    

    次の例では、行を更新してから、コミットするトランザクションがないことを通知します。

    SET IMPLICIT_TRANSACTIONS OFF
    UPDATE MyTable SET MyField = 1 WHERE MyId = 1
    ROLLBACK TRANSACTION
    

    Mitch Wheatが言ったように、自動コミットはSqlServer2000以降のデフォルトです。



    1. MySQLデータベース全体を削除する方法

    2. mysqliプリペアドステートメントの使用方法は?

    3. 他のテーブルの主キーではない外部キーを持つことはできますか?

    4. Psql出力で結果セットの装飾を非表示にする方法