데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
이클립스에서 컬럼을 update할때 row lock을 걸려고합니다
{
CALL
DECLARE
BEGIN
INSERT INTO TEST_TABLE_1(
TEST_COLUMN_1
,TEST_COLUMN_2
)
VALUES(
#{TEST_COLUMN_1}
,#{TEST_COLUMN_2}
);
UPDATE TEST_TABLE_2
SET TEST_COLUMN_1 = #{TEST_COLUMN1}
WHERE TEST_COLUMNT_3 = "3"
AND TEST_COLUMNT_4 = "4"
;
END
}
INSERT와 UPDATE를 하는 쿼리인데 row lock쿼리를 찾아보니
SELECT
TEST_COLUMN_1
FROM TEST_TABLE_2
WHERE TEST_COLUMNT_3 = "3"
FOR UPDATE TEST_COLUMN_1
이런식으로 적용을해야할것같은데 프로시저에서 어떻게 사용해야 TEST_TABLE_2에
TEST_COLUMN_1을 UPDATE할때 ROW LOCK을 걸수있을까요?
Comment 1
-
모가모가
2020.02.19 14:44
select * from table with(UPDLOCK) 이나 with(tablockx) 해당 검색 내용에 락을 걸수 있습니다.