我有一個觸發麻煩我嘗試在DBORA-04098:觸發器是無效的,失敗再驗證
這裏插入一些數據是數據,我想插入
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'後面缺少分號。運行create trigger語句之後,只需運行'show errors'來檢查觸發器編譯是否正確。提示:使用'CREATE OR REPLACE TRIGGER ...'命令而不是'CREATE TRIGGER ...'。另一個:在'qntdRows DATATYPE'後面缺少分號。 – krokodilko
除此之外,使用這個更好的'qntdRows:= login_seq.nextval;'而不是使用「雙」 –
而且,什麼樣的數據類型是'DATATYPE'? – APC