무시 성명 나는 다음과 같은 오류가 반환됩니다PL/SQL : 트리거
PLSQL 오류 메시지와 정말 혼란 스러워요 :
Error at line 13: PL/SQL: Statement ignored
1. create or replace TRIGGER trg before insert on pacient for each row
2. declare
3. rr varchar(3);
그것은 내가 라인 (13)에 오류가 있다고 얘기하지만, .? 나를 보여 줄 3 :(어떻게 이러한 메시지에 동쪽을 향하게하는 어떤 생각 주셔서 감사합니다 여기
내 코드입니다.create or replace TRIGGER trg before insert on pacient for each row
declare
rr varchar(3);
mm varchar(3);
dd varchar(3);
abc varchar(4);
x varchar(2);
begin
rr:=substr (:new.num, 1, 2);
mm:=substr (:new.num, 3, 2);
dd:=substr (:new.num, 5, 2);
abc:=substr (:new.num, 7, 3);
x:=substr (:new.num, 10, 1);
if mod (to_number(rr || mm || dd || abc))<>to_number(x) then raise_application_error(-20500,'wrong number');
end if;
end;
어떤 상황에서도 @Mihai의 의견에서 제안한대로하지 마십시오. SQL을 통한 할당으로 불필요한 오버 헤드가 발생하지 않더라도 트리거를 실행하는 테이블에서 선택하면 테이블 변경 오류가 발생합니다. – Allan