Boa tarde pessoal,
não estou conseguindo criar uma trigger para impedir a inserção em uma tabela se o campo de outra for nulo.
tipo tenho 2 tabelas que são amarradas quero impedir a inserção na tabela pedidos se o campo cpf da tabela clientes for nulo.
alguém da um help ?
Trigger impedir inserção verificando campo de outra tabela
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Você chegou à criar esta Trigger?
Coloque o código dela aqui pra gente...
Você chegou à criar esta Trigger?
Coloque o código dela aqui pra gente...
-
- Rank: Programador Júnior
- Mensagens: 24
- Registrado em: Qua, 21 Fev 2007 11:18 am
- Localização: montes claros minas gerais
bom tentei,
segue o codigo
segue o codigo
create or replace trigger trg_proibe_pedido_sem_cpf
before insert on pedidos
for each row
declare
cursor c_cpf is
select nr_cpf from em.cliente where cliente.cd_cliente = :new.pedidos.cd_cliente;
v_cpf varchar2(11);
begin
open c_cpf;
fetch c_cpf into v_cpf;
if :new.cd_convenio = 51 and v_cpf is null then
raise_application_error(-20500,'Falta informar o CPF do Cliente !!! Favor informar. Obrigado ');
end if;
close c_cpf;
end;
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Coloca a estrutura dela aqui pra gente dar uma olhada, pode ser?
:NEW.CD_CONVENIO
faz parte da tabela de pedidos?Coloca a estrutura dela aqui pra gente dar uma olhada, pode ser?
-
- Rank: Programador Júnior
- Mensagens: 24
- Registrado em: Qua, 21 Fev 2007 11:18 am
- Localização: montes claros minas gerais
consegui
acho que como estava criando a trigger sobre a tabela pedidos não precisava colocar :new.pedidos.cd_cliente e sim so :new.cd_cliente o codigo ficou assim
Muito obrigado pela ajuda 
acho que como estava criando a trigger sobre a tabela pedidos não precisava colocar :new.pedidos.cd_cliente e sim so :new.cd_cliente o codigo ficou assim
create or replace trigger trg_proibe_pedido_sem_cpf
before insert on pedidos
for each row
declare
cursor c_cpf is
select nr_cpf from em.cliente cliente where cliente.cd_cliente = :new.cd_cliente;
v_cpf varchar2(11);
begin
open c_cpf;
fetch c_cpf into v_cpf;
if :new.cd_convenio = 51 and v_cpf is null then
raise_application_error(-20500,'Falta informar o CPF do Cliente !!! Favor informar. Obrigado ');
end if;
close c_cpf;
end;

-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes