Background Image

FORUM

조회 수 250 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
9.3.9
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축

-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

CREATE TABLE site_menu_his(
menu_id numeric(10,0) NOT NULL,
user_id numeric(10,0) NOT NULL,
type character varying(10) NOT NULL,
use_yn character(1) NOT NULL,
ins_id character varying(10),
ins_dtm datetime,
upd_id character varying(10),
upd_dtm datetime,
PRIMARY KEY(menu_id ,user_id )
) ;

이렇게 테이블을 만들었고(예시입니다.)
insert 와 update가 실행이 될때마다 트리거를 이용하여 
insert시에 ins_id, ins_dtm에 업데이트
update시에 upd_id, upd_dtm에 업데이트 되는 트리거를 만들려고 합니다.

허나, 전체컬럼이 아닌 특정컬럼의 update 값 체크 후, update 하는 트리거의 경우에는 재귀호출로 무한루프가 될수 있어 다음과 같은 두가지 방법을 찾았습니다.

찾아낸, 
첫번째 방법으로는 

CREATE TRIGGER tr_upd_site_menu_his1
AFTER update ON site_menu_his(use_yn)
EXECUTE 
UPDATE site_menu_his SET upd_id ='id', upd_dtm= SYSDATETIME
WHERE menu_id = obj.menu_id
AND menu_id = obj.user_id;

허나, 수정될 컬럼을 지정해주면 되던데 컬럼을 하나씩 밖에 지정이 되지 않아 트리거가 컬럼이 많을경우 트리거를 많이 생성해야 됩니다.
그렇게 때문에
다중컬럼(예. site_menu_his(use_yn, menu_id, ...))을 사용가능한지 알고싶습니다.


두번째 방법으로는

CREATE TRIGGER tr_upd_site_menu_his1
AFTER update ON site_menu_his
IF old.use_yn <> new.use_yn or old.type <> new.type
EXECUTE

이런 방법이있는데, 'AFTER 혹은 BEFORE'시에 'OLD 혹은 NEW'를 동시에 사용이 안되서 명령어가 수행이 안됩니다. 
'OLD.xx NEW.xx' 을 동시에 사용가능한지 알고싶습니다.

위 두가지 상황에 대한 답변 부탁드립니다.
  • ?
    오명환 2020.01.14 14:10
    첫번째 방법은 단일 컬럼만 사용할 수 있습니다.
    두번째 방법은 before와 after에 다릅니다.
    before인 경우에는 obj, new를 사용하셔야 하고, after인 경우에는 obj, old를 사용하시면 됩니다.

    자세한 내용은 매뉴얼( https://www.cubrid.org/manual/ko/9.3.0/sql/trigger.html#create-trigger)를 참고하세요.

  1. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4257
    read more
  2. cubrid manager 에서 select 조회 시 검색 단위에 대해서 질문있습니다.

    Date2020.02.14 By브로콜리너마저 Views222
    Read More
  3. unique constraint violations 문의

    Date2020.02.10 Byguloman Views417
    Read More
  4. 9.3버전에서 10.2버전 업그레이드 방법문의 드립니다.

    Date2020.02.06 By동동 Views274
    Read More
  5. backupdb 문의드립니다,

    Date2020.02.05 By동동 Views174
    Read More
  6. asp.net ibatis connection string is null

    Date2020.02.04 Bynoy Views665
    Read More
  7. 간혈적 에러 '보호된 메모리를 읽거나 쓰려고 했습니다. 확인 부탁드리겠습니다.

    Date2020.02.03 By.net Views365
    Read More
  8. 메니져 실행이 안됩니다.

    Date2020.02.01 Byufox Views387
    Read More
  9. 버전에 대한 취약점 및 EOS 관련 문의

    Date2020.01.29 ByKSH_혁 Views241
    Read More
  10. 에러 질문 드립니다.!!

    Date2020.01.22 By마리오네트 Views92
    Read More
  11. 함수 사용시 max, min 값 문의

    Date2020.01.20 Bykipo0821 Views511
    Read More
  12. 큐브리드 매니저로 접속했을때 DB 볼륨이름/볼륨유형 표시에 대해서 질문

    Date2020.01.16 Bykidless Views209
    Read More
  13. 971번 에러 로그가 5초간격으로 쌓임

    Date2020.01.15 Bykidless Views307
    Read More
  14. 큐브리드 트리거 질문 드립니다.

    Date2020.01.14 Byspeed Views491
    Read More
  15. MAX_PREPARED_STMT_COUNT Error 문의

    Date2020.01.14 By파랑조아유 Views551
    Read More
  16. 10.1 또는 10.2. 버전에서는 web manager를 지원 안 하나요?

    Date2020.01.10 Byhbg Views134
    Read More
  17. 트리거 질문드립니다.

    Date2020.01.10 By서준빠 Views250
    Read More
  18. Cannot communicate with the broker or received invalid packet 오류 문의 드립니다

    Date2020.01.09 ByKim Views1158
    Read More
  19. 큐브리드 버전 문의입니다.

    Date2020.01.07 By행복한이니 Views288
    Read More
  20. CUBRID 10.1.3 COMMENT 추가 방법 문의

    Date2020.01.06 By박종원 Views1157
    Read More
  21. CUBRID-JDBC-9.3.2.0016 드라이버 관련 os 호환이 되는지 문의드려요

    Date2019.12.30 Bydkkdkdkdkdk Views170
    Read More
Board Pagination Prev 1 ... 40 41 42 43 44 45 46 47 48 49 ... 199 Next
/ 199

Contact Cubrid

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