programing

다람쥐에서 트리거 만들기/바꾸기

codeshow 2023. 10. 19. 22:54
반응형

다람쥐에서 트리거 만들기/바꾸기

다람쥐 3.2.0 이 트리거를 교체하려고 할 때:

CREATE OR REPLACE TRIGGER crw_ins_trig
  BEFORE INSERT OR UPDATE ON crew
  FOR EACH ROW
DECLARE

BEGIN
    if (:new.crw_id is null) then
        select crw_id_seq.nextval
        into :new.crw_id
        from dual;
    end if;  
END;
/

"파라미터 값을 입력해주세요."라는 메시지가 들어옵니다.':new' 값"

OK(확인)를 클릭하면 다음과 같은 결과 메시지가 표시됩니다.

Warning:   Warning: execution completed with warning
SQLState:  null
ErrorCode: 17110
Position: 27

Query 1 of 1, Rows read: 0, Elapsed time (seconds) - Total: 0.023, SQL query: 0.023, Building output: 0

애플리케이션에서 오류가 발생합니다."ORA-04098: trigger 'CRW_INS_TRIG' is invalid and failed re-validation"

다람쥐랑 관계가 있나요?그렇다면 어떻게 해결해야 합니까?

Squirrel에서 "sqlparam" 플러그인을 언로드해야 합니다. 그러면 ":paramName" 변수의 값을 입력하라는 메시지가 표시되지 않습니다.

다음과 같이 보이도록 트리거에 참조 줄을 추가할 수 있습니다.

CREATE OR REPLACE TRIGGER crw_ins_trig  
  BEFORE INSERT OR UPDATE ON crew  
  REFERENCING NEW AS NEW
              OLD AS OLD
  FOR EACH ROW  
BEGIN  
    if (:new.crw_id is null) then  
        select crw_id_seq.nextval  
        into :new.crw_id  
        from dual;  
    end if;    
END crw_ins_trig;

한번 해보세요.안 되면 다른 도구(예: SQL*Plus, PL/SQL Developer, Toad 등)를 사용하여 문을 실행해 보십시오.

나누어서 즐겨요.

언급URL : https://stackoverflow.com/questions/4333267/create-replace-trigger-in-squirrel

반응형