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

SQLServer-ストアドプロシージャが終了するまでテーブルをロックする方法

    私自身とDavidMoyeによって提供されたリンクからこの回答が必要でしたが、これを決定し、同じ質問を持つ他の人にも役立つかもしれないと考えました:

    CREATE PROCEDURE ...
    AS
    BEGIN
      BEGIN TRANSACTION
    
      -- lock table "a" till end of transaction
      SELECT ...
      FROM a
      WITH (TABLOCK, HOLDLOCK)
      WHERE ...
    
      -- do some other stuff (including inserting/updating table "a")
    
    
    
      -- release lock
      COMMIT TRANSACTION
    END
    


    1. パフォーマンステストの方法論:新しい方法の発見

    2. CodeIgniterフレームワークを使用して配列から複数の行を挿入するにはどうすればよいですか?

    3. Access2016でテーブルをバックエンドデータベースにリンクする方法

    4. IS NOT NULL変数が設定されている場合、レコードのテストはTRUEを返しません