Activación línea dos mesas C/actualización

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
  

Notael Mar, 10 Jul 2018 11:28 am

Estimados, soy principiante en PL/SQL, necesito crear un desencadenador con la situación siguiente, cuando el campo de la "tabla ra_customer_trx_lines_all" CFOP es igual a la EXPORT_DRAWBACK_NUMBER 7127 campo "Tabla JL_BR_CUST_TRX_LINES_EXTS" ¿se actualizará con una necesidad de información determinada para ello por la línea cuando esta condición ocurre, por favor, me podrias ayudar?

EN ABS.
mafrancisco
Ubicación: Santo André - SP

Notael Mar, 17 Jul 2018 10:41 am

Hola, no se conoce la estructura de las tablas pero básicamente podría hacerse como sigue:
Código: Seleccionar todo
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;
en tu nombre << disparo >> pones el nombre según su normalización.
bispovj
Ubicación: Porto Alegre - RS

Notael Mié, 25 Jul 2018 11:13 am

Hola, mi amigo creé el gatillo como a continuación se basa en su sugerencia pero no funcionó, ¿tienes alguna idea de lo que podría ser?

CREAR o reemplazar el gatillo XV_TESTE_DRW / * soy principiante en PL/SQL, necesito crear un desencadenador con la situación siguiente, cuando el campo de la "tabla ra_customer_trx_lines_all" CFOP es igual a la tabla 7127" field EXPORT_DRAWBACK_NUMBER _ JL_BR CUST_TRX_LINES_EXTS "debe actualizarse con información particular necesidad de hacerlo por la línea cuando esta condición ocurre, por favor, me podrias ayudar? * /
Código: Seleccionar todo
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;
mafrancisco
Ubicación: Santo André - SP



Volver a PL/SQL

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados