CREATE TRIGGER aupdateb
BEFORE UPDATE on test_aaa
EXECUTE
if obj.idx = 1
update test_bbb set aa= obj.aa where idx = obj.idx
이와같은 트리거를 작성하려하는데
test_aaa 이란 테이블에서 업데이트가 이루어질떄 idx가 1인 테이블만 업데이트를 하려고하는데..
이에대한 쿼리문작성법이 어떻게 되는지 궁금합니다..
CREATE TRIGGER aupdateb
BEFORE UPDATE on test_aaa
EXECUTE
if obj.idx = 1
update test_bbb set aa= obj.aa where idx = obj.idx
이와같은 트리거를 작성하려하는데
test_aaa 이란 테이블에서 업데이트가 이루어질떄 idx가 1인 테이블만 업데이트를 하려고하는데..
이에대한 쿼리문작성법이 어떻게 되는지 궁금합니다..
답변 언제주시나요... 빨리주셨으면 좋겠는데...ㅠㅠ
안녕하세요. 답변이 늦어 죄송합니다.
요청하신 트리거는 execute와 if 문의 순서를 바꾸어야 정상적으로 수행이 되실 것 입니다. 즉, 아래와 같이 변경해주셔야 합니다.
create trigger aupdateb
before update on test_aaa
if obj.idx=1
execute
update test_bbb set aa=obj.aa where idx=obj.idx
위의 트리거를 적용해 보시고, 원하시는 결과가 나오지 않을 경우, 댓글 부탁드립니다.
감사합니다.
idx가 1인 데이터만 변경되고 나머지는 허용하지 않고자 하는걸로 보입니다.
이 경우에는
create trigger aupdateb
before update on test_aaa
if obj.idx <> 1
execute reject;
와 같은 형태가 되는게 맞을듯 하네요.
트리거를 사용하는 경우에는 성능이 떨어질 수 있는데, 특히 여러개 데이터를 한꺼번에 변경해야 하는 경우에는 더 영향을 받습니다.
성능관점에서는 응용에서 해당 데이터만 변경될 수 있도록 처리해주는게 나을것 같습니다.
만약, idx=1 인 데이터만 특정사용자에게 노출하고 변경하고자 하는 용도라면
뷰를 만드는것이 좋을것입니다.
create view t_v as select * from test where idx=1
과 같은 형태로 만든후 뷰에 질의를 하면 됩니다.
CUBRID 사용자를 위한 DBeaver 도구 출시 안내
SQLGate for CUBRID 영구 무료 라이선스 제공
특정 컬럼 order by 시 한글 > 숫자 > 영문 순으로 정렬 방법?
특정 글자 깨짐 현상 문의
특정 값 우선 정렬
특정 Table만 백업하는 방법
특정 CAS가 재시작이 되지 않습니다.
특수문자 포함 LIKE검색
특수문자 컬럽값 관련 Python 오류 (*추가 - 증상재현 관련)
특수문자 깨짐
트리거에서 함수 호출 관련 문의
트리거에 여러개의 execute 문을 사용할 수 있는지요?
트리거에 대해서
트리거, 프로시져 조회 문의
트리거 질문입니다.
트리거 질문드립니다.
트리거 질문 드립니다.. 너무 안되서 이렇게 질문 올려요 ㅠ
트리거 조건문 질문.
트리거 조건 문제
트리거 재 문의(확실히 아시는분만 답변 바랍니다)
트리거 작성 도중 알 수 없는 오류가 발생했습니다.
트리거 생성시 오류 질문
안녕하세요.
큐브리드에 관심을 가져 주셔서 감사합니다. 문의하신 내용에 대하여 조속하게 답변을 드리도록 하겠습니다.