Background Image
2010.10.07 06:44

cubrid 3.0 버그.

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

단축키

Prev이전 문서

Next다음 문서

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

 버그 발생 단계

   1. 트리거 생성

       생성 쿼리문 :  CREATE TRIGGER "1"
AFTER STATEMENT INSERT ON "code"
EXECUTE INVALIDATE TRANSACTION;

  2. 해당 테이블 code 를 동일하게 생성 ( 동일 구조 테이블 추가 )

     1. 조회.   select * from "code";

     2. 결과 .

                        X Mixed
                       W Woman
                       M Man
                       B Bronze
                       S Silver
                       G Gold
   3. 동일구조의 테이블 생성 ( code_bk )

      1. 자료 입력

               insert into code_bk
               select * from "code";

       2. code 테이블 자료 삭제

                delete from code ;

       3. code 의 테이블에 code_bk 의 자료 입력

               오류 내역 (자세한 사항은 첨부 이미지 확인 )

               내용 : " 질의 오류가 있습니다. 오류 내용은 아래와 같습니다. 계속하시겠습니까?

                              실행 오류 : -529

                              4번째 라인 실행 오류

                           

                              오류 설명 :

                                Transaction cannot be committed, it was invalidated by trigger "i". "

                  이상입니다.

 

            

 

 

  • ?
    Conpu 2010.10.08 01:13

    우선 CUBRID에 대한 관심 감사드립니다. 두 가지 사항으로 나누어 질문에 대하여 답변을 드리도록 하겠습니다.

     

    1. code테이블에 대해 생성한 인서트 제약 트리거가 복제되지 않는 오류가 발생한다.

    Create table like는 해당 트리거까지 복사해주는 것은 아니며, 컬럼과 인덱스를 복사해주는 것이므로 버그가 아니며, 스펙입니다.
    트리거 객체는 테이블과 연관되어 있기는 하지만 별개의 스키마 객체로 보고 있으며, 복사 과정에서 트리거 이름을 자동 부여해야 하는데 이는 DBA가 원하는 바가 아닐 수 있습니다.
    즉 create table like로 테이블 스키마 복사할 때에 트리거를 옮기고 싶으시다면 사용자가 직접 해줘야 합니다.
    이는MySQL에서도 같은 사항입니다.

     

    2. code에 데이터 삭제 후 다시 데이터를 삽입했을 때 오류 설명과 같은 글이 발생한다.

    사용자가 설정한 삽입에 대한 트리거 실행 영역 INVALIDATE TRANSACTION은 트리거를 부른 이벤트 연산에 대해 수행은 하지만 커밋을 포함하고 있는 트랜잭션은 수행되지 않도록 합니다. 이는 테이터를 변경하는 이벤트가 발생한 후에 유효하지 않은 데이터를 가지는 것으로부터 보호하기 위하여 트랜잭션이 유효하지 않으면 반드시 ROLLBACK 문으로 취소시켜야 합니다.
    그러므로 오류사항으로 보신 그림처럼 트리거에 의해 에러가 출력된 것이므로, 버그가 아닙니다.
    자세한 사항은 매뉴얼을 참고하세요.(http://www.cubrid.com/online_manual/cubrid_830/syntax/syntax_trigger_create_action.htm)


    질문에 대한 원하시는 답변이 되셨기를 바랍니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
223 큐브리드 발전을 기원합니다. 캣츠 2009.11.27 11363
222 큐브리드 면접문제를 회고하며... 5 초보대왕 2009.04.22 34483
221 큐브리드 면접 문제들... 19 김평철 2007.05.04 45395
220 큐브리드 매니저 클라이언트 구버전 구할수 있을까요? 1 운비 2016.07.12 5391
219 큐브리드 매니저 윈도우버젼은 없네요? 어디서 다운받나요? 1 겸둥이k 2021.08.03 494
218 큐브리드 매니저 윈도우 다운어디서 받아요? 1 박수진 2023.01.12 273
217 큐브리드 매니저 실행시 오류 1 아아 2017.11.14 1303
216 큐브리드 매니저 splash 이미지 변경 예정입니다. ^^ 4 file 정병주 2008.12.20 39266
215 큐브리드 매니저 2008 R2 - 맛뵈기 프리뷰 정병주 2009.06.16 49179
214 큐브리드 로고... 5 강현철 2008.03.21 18307
213 큐브리드 다운로드 4만건 돌파 기념 간식 배달 이벤트 - 축하 메시지 남기기 ^^ 291 2 file admin 2009.05.13 219642
212 큐브리드 vs. UniSQL 김평철 2006.08.01 25165
211 큐브리드 7.3 도서 출간 및 온라인 서점 안내 2 admin 2008.02.21 29925
210 큐브리드 7.0을 설치하면서.. 1 나비스 2007.05.31 15744
209 큐브리드 3월 정기교육 안내 admin 2008.03.10 14919
208 큐브리드 3.1 다운로드 링크가 잘못되어 있는거 같습니다 1 유니콘 2011.03.16 19721
207 큐브리드 2008 R2 는 어디서 다운받을수 있나요 ? 1 오니오니 2013.12.02 11921
206 큐브리드 1주년을 진심으로 축하드립니다. 공기청정기 2009.11.28 11369
205 큐브리드 1주년 진심으로 축하드립니다. 로냐르 2009.11.27 11392
204 큐브리드 -> 큐브리드 이관할 때, 데이터 이관하는 방법 1 ots21 2021.05.10 732
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

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