Background Image

FORUM

2012.02.19 03:10

트리거 조건문 질문.

조회 수 8709 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

 

 

 
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인 테이블만 업데이트를 하려고하는데..

 

이에대한 쿼리문작성법이 어떻게 되는지 궁금합니다..

  • ?
    cubebridge 2012.02.19 08:30

    안녕하세요.

    큐브리드에 관심을 가져 주셔서 감사합니다. 문의하신 내용에 대하여 조속하게 답변을 드리도록 하겠습니다.

  • ?
    기린종인 2012.02.21 02:05

     답변 언제주시나요... 빨리주셨으면 좋겠는데...ㅠㅠ

     

  • ?
    이용미 2012.02.21 21:11

    안녕하세요. 답변이 늦어 죄송합니다.

     

    요청하신 트리거는 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

     

    위의 트리거를 적용해 보시고, 원하시는 결과가 나오지 않을 경우, 댓글 부탁드립니다.

    감사합니다.

  • ?
    cgkang 2012.02.22 00:46

    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

    과 같은 형태로 만든후 뷰에 질의를 하면 됩니다.

     


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 52
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3895 CUBRID 매니저 에서 데이터베이스 접속시 시간 지연과 오류 1 secret ni Chang 2014.12.29 10
3894 자바 함수 문제 현상 1 secret 배운다큐브 2014.06.11 10
3893 큐브리드 버전 정보 3 secret 소금인형 2014.05.21 10
3892 테이블 통계 정보 Cardinality 값의 의미를 알고 싶습니다. 1 secret baejooc 2014.04.05 10
3891 sql_log 관련 3 secret 소금인형 2013.06.18 10
3890 프로시저 resultset 문의 secret 신데렐라 2013.05.23 10
3889 리눅스 큐브리드 제거 2 secret 쪼로롱 2013.05.14 10
3888 clob 입력에 대한 문의 2 secret 최범규 2017.04.13 10
3887 sql 조회 에러문의 2 secret 최범규 2017.03.22 10
3886 Table doesn't exist 에러.. 3 secret 가라가라 2016.12.05 10
3885 호스트 연결 에러 3 secret PJEPJE 2016.01.28 10
3884 Cubrid 2008과 7.3의 차이? 1 secret dennis 2009.08.04 10
3883 볼륨 생성 오류 4 secret 김수민 2015.06.29 10
3882 큐브리드 설정 관련 질문드립니다. secret 안산혀눙이 2017.08.08 10
3881 브로커 에러에 관하여 1 secret daltago87 2011.01.27 11
3880 리눅스에서 환경 설정 문의 9 secret 스마트 2010.12.30 11
3879 안녕하세요 네이버 에코스퀘어 관련 질문드립니다. 1 secret 강태구 2010.08.24 11
3878 오라클과의 성능에 대한 비교를 알고 싶습니다. 1 secret 오004 2009.12.16 11
3877 서버 JVM path 관련 문의 2 secret 아코 2015.06.06 11
3876 오류 관련 문의 드립니다. 1 secret 아코 2015.05.28 11
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales