ロックヒント


SQL Serverでは基本的には行単位のロックが使用されるが
WITH句でロックヒントを与えることによりロックの単位を指定することができる



以下、UPDATEとINSERTでテーブルロックを使用した例

BEGIN TRAN

UPDATE TBL_LOCK WITH(TABLOCK) 
SET    COLNAME = 'AAA' 
WHERE  COLID   = '01'
;

--ROLLBACK;  --コミット、ロールバックを行わないことによりトランザクションを維持
BEGIN TRAN

INSERT INTO TBL_LOCK WITH(TABLOCK) 
VALUES ('90','CCC');

INSERT INTO TBL_LOCK WITH(TABLOCK) 
VALUES ('91','DDD');
;

--ROLLBACK;  --コミット、ロールバックを行わないことによりトランザクションを維持


動作確認環境:SQL Server 2008 Express