에서 일부 데이터를 삽입하려고 내가 트리거에 문제가있어
데이터가 내가
INSERT INTO login (login, senha) VALUES ('admin', 'admin')
를 삽입하기 위해 노력하고있어입니다 실패
오류
ORA-04098: trigger 'HOTEL.bi_login' is invalid and failed re-validation
표와 시퀀스
CREATE TABLE login(idLogin NUMBER(5), login VARCHAR2(50) UNIQUE, SENHA VARCHAR2(50), CONSTRAINT idLogin_pk PRIMARY KEY (idLogin));
CREATE sequence "login_seq";
,
그리고 Triger
CREATE trigger "bi_login"
before insert on login
for each row
DECLARE
qntdRows DATATYPE
BEGIN
select "login_seq".nextval
INTO qntdRows
FROM dual;
:NEW.idLogin = qntdRows
END;
': NEW.idLogin = qntdRows' 다음에 세미콜론이 누락되었습니다. 트리거 생성을 실행 한 직후,'show errors'를 실행하여 트리거가 정상적으로 컴파일되었는지 여부를 확인하십시오. 팁 :'CREATE TRIGGER ... '대신'CREATE OR REPLACE TRIGGER ...'명령을 사용하십시오. 또 하나 :'qntdRows DATATYPE' 다음에 세미콜론이 누락되었습니다. – krokodilko
게다가,이 더 나은'qntdRows : = login_seq.nextval;'을 사용하여 "dual"과 함께 사용하십시오 –
또한 어쨌든'DATATYPE'은 어떤 데이터 타입입니까? – APC