Prezados(as),
Sou iniciante em PL/SQL, preciso criar uma trigger com a seguinte situação, quando o campo CFOP da tabela "ra_customer_trx_lines_all" for igual à 7127 o campo EXPORT_DRAWBACK_NUMBER da tabela "JL_BR_CUST_TRX_LINES_EXTS" deverá ser atualizado com uma determinada informação, preciso fazer isso linha a linha quando essa condição ocorrer, por gentileza, poderiam me ajudar?
Abs.
Trigger Update por Linhas C/ Duas Tabelas
-
- Rank: Estagiário Sênior
- Mensagens: 11
- Registrado em: Qui, 17 Jul 2008 12:56 pm
- Localização: Santo André - SP
-
- Rank: Estagiário Júnior
- Mensagens: 1
- Registrado em: Ter, 13 Abr 2010 8:44 pm
- Localização: Porto Alegre - RS
Olá,
Não conheço a estrutura de suas tabelas mas basicamente poderia ser feito da seguinte forma:
Em << nome da sua trigger >> você coloca o nome de acordo com sua padronização.
Não conheço a estrutura de suas tabelas mas basicamente poderia ser feito da seguinte forma:
CREATE OR REPLACE TRIGGER << nome da sua trigger >>
/*Sou iniciante em PL/SQL, preciso criar uma trigger com a seguinte situação,
quando o campo CFOP da tabela "ra_customer_trx_lines_all" for igual à 7127
o campo EXPORT_DRAWBACK_NUMBER da tabela "JL_BR_CUST_TRX_LINES_EXTS"
deverá ser atualizado com uma determinada informação, preciso fazer isso linha a linha
quando essa condição ocorrer, por gentileza, poderiam me ajudar?*/
BEFORE INSERT OR UPDATE ON ra_customer_trx_lines_all
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
IF :new.cfop = '7127' THEN
BEGIN
UPDATE jl_br_cust_trx_lines_exts
SET export_drawback_number = '<<determinada informação>>'
WHERE chave = :new.chave;-- nesta parte deve haver a lógica de junção das tabelas
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20000, SQLERRM);
END;
END IF;
END;
-
- Rank: Estagiário Sênior
- Mensagens: 11
- Registrado em: Qui, 17 Jul 2008 12:56 pm
- Localização: Santo André - SP
Olá,
Meu amigo eu criei a trigger como está abaixo baseado na sua sugestão mas não funcionou, tem idéia do que possa ser?
CREATE OR REPLACE TRIGGER XV_TESTE_DRW
/*Sou iniciante em PL/SQL, preciso criar uma trigger com a seguinte situação,
quando o campo CFOP da tabela "ra_customer_trx_lines_all" for igual à 7127
o campo EXPORT_DRAWBACK_NUMBER da tabela "JL_BR_CUST_TRX_LINES_EXTS"
deverá ser atualizado com uma determinada informação, preciso fazer isso linha a linha
quando essa condição ocorrer, por gentileza, poderiam me ajudar?*/
Meu amigo eu criei a trigger como está abaixo baseado na sua sugestão mas não funcionou, tem idéia do que possa ser?
CREATE OR REPLACE TRIGGER XV_TESTE_DRW
/*Sou iniciante em PL/SQL, preciso criar uma trigger com a seguinte situação,
quando o campo CFOP da tabela "ra_customer_trx_lines_all" for igual à 7127
o campo EXPORT_DRAWBACK_NUMBER da tabela "JL_BR_CUST_TRX_LINES_EXTS"
deverá ser atualizado com uma determinada informação, preciso fazer isso linha a linha
quando essa condição ocorrer, por gentileza, poderiam me ajudar?*/
BEFORE INSERT OR UPDATE ON ra_customer_trx_lines_all
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
IF :new.global_attribute1 = '7127' THEN
BEGIN
UPDATE jl_br_cust_trx_lines_exts
SET export_drawback_number = '20170056899'
WHERE customer_trx_id = :new.customer_trx_id;-- nesta parte deve haver a lógica de junção das tabelas
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20000, SQLERRM);
END;
END IF;
END;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 35 visitantes