に失敗した私はORA-04098:トリガーが無効であると私は私がここデシベル</p> <p>でいくつかのデータを挿入しようとトリガーとのトラブルを抱えている再検証
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 ...'コマンドを使用してください。別の1つ: 'qntdRows DATATYPE'の後ろにセミコロンがありません。 – krokodilko
さらに、このより良い 'qntdRows:= login_seq.nextval;'を代わりに '' dual ''と併用する –
また、どんなデータ型でも 'DATATYPE'ですか? – APC