Esquemas do Espaço de Trabalho
Esquemas: MILHORINI
Tablespaces: MILHORINI
Privilégios: create any directory, create materialized view, create procedure, create sequence, create session, create synonym, create table, create tablespace, create trigger, create user, create view, drop user
Privilégios de Atribuição do Banco de Dados: connect, resource
PRODUTO ( prod_id : number, prod_numero : number, prod_data : date )
VENDA ( venda_id : number, preço_compra : number, preço_venda : number, imposto : number )
Criei ainda uma sequência:
CREATE SEQUENCE "SEQ_VENDA"
MINVALUE 1
MAXVALUE 99
INCREMENT BY 1
START WITH 1
CACHE 20
NOORDER
NOCYCLE ;
create or replace procedure pro_calculo_preço_venda
(
preço_compra IN venda.preço_compra%TYPE,
imposto IN venda.imposto%TYPE,
preço_venda OUT venda.preço_venda%TYPE
)
is
begin
preço_venda := preço_compra + preço_compra * imposto;
end;
create or replace trigger tri_produto_insert after insert on produto
declare
preço_venda_final number;
begin
--chamo aqui o meu procedure
pro_calculo_preço_venda(&preço_compra, &porcentagem_imposto, preço_venda_final);
dbms_output.put_line('preço_venda_final: '|| preço_venda_final);
insert into venda values
(
seq_venda.nextval,
preço_compra,
preço_venda_final, --aqui ocorre o erro!
porcentagem_imposto
);
end;
/
A mensagem de ORA-00984: coluna não permita aqui ocorre no insert na trigger, mais especificamente em preço_venda_final. Usei dbms_output.put_line para imprimir o valor de preço_venda_final e é impresso normalmente (comento o insert para poder compilar a trigger). Coloquei um valor inteiro no lugar e o erro persiste. Dei drop table em VENDA e a recriei e o erro persiste.
Alguém pode me ajudar?