Olá, sou novato no grupo e também no oracle
estou tentando aprender a criação e utilização de triggers
nao consigo entender o que há de errado na trigger abaixo
CREATE OR REPLACE TRIGGER UNISUL.TRG_ONINSCIDADE BEFORE INSERT
ON UNISUL.CIDADE
FOR EACH ROW
BEGIN
INSERT INTO UNISUL.CIDADE2(CD_CID,NM_CID,CD_UF)
VALUES(UNISUL.CIDADE.CD_CID,UNISUL.CIDADE.NM_CID,UNISUL.CIDADE.CD_UF);
END UNISUL.TRG_ONINSCIDADE;
o código acima é um exemplo do que estou querendo fazer: quando
inserir um registro em uma tabela automaticamente inserir o registro
em uma segunda tabela.
Consigo compilar, mas quando vou inserir um registro na tabela cidade
ocorre o erro:
ORA-04098: gatilho 'UNISUL.TRG_ONINSCIDADE' é inválido e a revalidação
falhou
codigo das tabelas
Create table "CIDADE" (
"CD_CID" Number(5,0) NOT NULL ,
"NM_CID" Varchar2 (40) NOT NULL ,
Constraint "CIDADE_PK" primary key ("CD_CID")
)
Create table "CIDADE2" (
"CD_CID" Number(5,0) NOT NULL ,
"NM_CID" Varchar2 (40) NOT NULL ,
Constraint "CIDADE_PK" primary key ("CD_CID")
)