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