Pular para o conteúdo
Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #105804
    Avatar de elciodbaelciodba
    Participante

      Bom dia estou com problema em uma trigger. Erro ORA-06159 porem essa trigger é igual a uma outra que ja funciona. Ja olhamos tudo e não tem diferencia nenhuma da que funciona.
      Estou precisando de ajuda.

      Obrigado

      #105805
      Avatar de rmanrman
      Participante

        @elciodba

        Existe COMMIT dentro desta trigger?

        #105806
        Avatar de elciodbaelciodba
        Participante

          não…pode colocar commit em trigger????

          #105807
          Avatar de rmanrman
          Participante

            @elciodba

            Poder até pode, mas não é recomendado.

            Está usando Pragma AUTONOMOUS_TRANSACTION ?

            Poderia postar a trigger?

            #105808
            Avatar de elciodbaelciodba
            Participante

              Qual é motivo que não é recomendando usar COMMIT na trigger ????? Qual é a função desse comando?

              create or replace trigger TRG_COMPART_TRAB_REFER
              after insert on crd.trab_referencia
              REFERENCING NEW AS NEW
              for each row
              declare
              Pragma Autonomous_Transaction;
              v_compartilha_cadastro crd.regras_negocio.compartilha_cadastro%type := null;
              v_empresa_origem crd.cliente.empresa_origem%type;
              v_cpf_cgc crd.cliente.cpf_cgc%type;
              v_debug varchar2(1000);

              –CURSOR PARA ATUALIZA¿¿O DO CADASTRO COMPARTILHADO
              cursor cur_dados_compart (pc_codcpf_cgc in crd.cliente.cpf_cgc%type,
              pc_empresa_origem in crd.cliente.empresa_origem%type) is
              select cli.empresa empresacli, cli.cliente, cli.empresa_origem, cli.loja_origem,
              rn.empresa , rn.compartilha_cadastro
              from crd.cliente cli, crd.regras_negocio rn
              where cli.cpf_cgc = pc_codcpf_cgc
              and cli.empresa_origem = rn.empresa
              and cli.empresa_origem NOT IN (pc_empresa_origem)
              and rn.compartilha_cadastro = ‘S’;
              reg_dados_compart cur_dados_compart%rowtype;
              begin

              begin
              select cli.cpf_cgc, cli.empresa_origem, rn.compartilha_cadastro
              into v_cpf_cgc, v_empresa_origem, v_compartilha_cadastro
              from crd.cliente cli, crd.regras_negocio rn
              where cli.empresa = :NEW.EMPRESA
              and cli.cliente = :NEW.CLIENTE
              and cli.empresa_origem = rn.empresa;
              exception when others then
              v_compartilha_cadastro := ‘N’;
              end;

              if user ‘REPADMIN’ then
              IF INSERTING THEN
              if(v_compartilha_cadastro = ‘S’) then

                     open cur_dados_compart(v_cpf_cgc, v_empresa_origem);
                     loop
                        fetch cur_dados_compart into reg_dados_compart;
                        exit when cur_dados_compart%notfound;    
                             begin
                                UPDATE crd.trab_referencia
                                SET PAI                   = :NEW.PAI,
                                MAE                       = :NEW.MAE,
                                TRABALHO                  = :NEW.TRABALHO,
                                LOGRADOURO                = :NEW.LOGRADOURO,
                                ENDERECO                  = :NEW.ENDERECO,
                                NUMERO                    = :NEW.NUMERO,
                                COMPLEMENTO               = :NEW.COMPLEMENTO,
                                BAIRRO                    = :NEW.BAIRRO,
                                CIDADE                    = :NEW.CIDADE,
                                UF                        = :NEW.UF,
                                CEP                       = :NEW.CEP,
                                TELEFONE                  = :NEW.TELEFONE,
                                CELULAR                   = :NEW.CELULAR,
                                ENVIA_E_MAIL              = :NEW.ENVIA_E_MAIL,
                                E_MAIL                    = :NEW.E_MAIL,
                                SALARIO                   = :NEW.SALARIO,
                                RENDA                     = :NEW.RENDA,
                                RENDA_NOMINAL             = :NEW.RENDA_NOMINAL,
                                ADMISSAO                  = :NEW.ADMISSAO,
                                CGC_SOCIED                = :NEW.CGC_SOCIED,
                                CAPITAL_SOC               = :NEW.CAPITAL_SOC,
                                COTAS_SOC                 = :NEW.COTAS_SOC,
                                RESIDENCIA_SITUACAO       = :NEW.RESIDENCIA_SITUACAO,
                                TEMPO_RESIDENCIA          = :NEW.TEMPO_RESIDENCIA,
                                VAL_ALUGUEL               = :NEW.VAL_ALUGUEL,
                                TELEFONE_SITUACAO         = :NEW.TELEFONE_SITUACAO,
                                QTD_DEPENDENTES           = :NEW.QTD_DEPENDENTES,
                                CARTOES_CREDITO           = :NEW.CARTOES_CREDITO,
                                MARCA_VEICULO             = :NEW.MARCA_VEICULO,
                                MODELO_VEICULO            = :NEW.MODELO_VEICULO,
                                ANO_VEICULO               = :NEW.ANO_VEICULO,
                                REF1_PESSOAL              = :NEW.REF1_PESSOAL,
                                END1_REF_PESSOAL          = :NEW.END1_REF_PESSOAL,
                                TEL1_REF_PESSOAL          = :NEW.TEL1_REF_PESSOAL,
                                REF2_PESSOAL              = :NEW.REF2_PESSOAL,
                                END2_REF_PESSOAL          = :NEW.END2_REF_PESSOAL,
                                TEL2_REF_PESSOAL          = :NEW.TEL2_REF_PESSOAL,
                                BCO1_BANCO                = :NEW.BCO1_BANCO,
                                BCO1_AGENCIA              = :NEW.BCO1_AGENCIA,
                                BCO1_CONTA                = :NEW.BCO1_CONTA,
                                BCO2_BANCO                = :NEW.BCO2_BANCO,
                                BCO2_AGENCIA              = :NEW.BCO2_AGENCIA,
                                BCO2_CONTA                = :NEW.BCO2_CONTA,
                                AUTORIZA_DEBITO           = :NEW.AUTORIZA_DEBITO,
                                RENDA_FAMILIAR            = :NEW.RENDA_FAMILIAR,
                                VAL_COTAS_SOC             = :NEW.VAL_COTAS_SOC,
                                DATA_FUNDACAO_SOC         = :NEW.DATA_FUNDACAO_SOC,
                                SITUACAO_VEICULO          = :NEW.SITUACAO_VEICULO,
                                VALOR_VEICULO             = :NEW.VALOR_VEICULO,
                                BCO1_TIPO_CONTA           = :NEW.BCO1_TIPO_CONTA,
                                BCO2_TIPO_CONTA           = :NEW.BCO2_TIPO_CONTA,
                                BCO1_CLI_DESDE            = :NEW.BCO1_CLI_DESDE,
                                BCO2_CLI_DESDE            = :NEW.BCO2_CLI_DESDE,
                                GRAU_INSTRUCAO            = :NEW.GRAU_INSTRUCAO,
                                APRESENTOU_END            = :NEW.APRESENTOU_END,
                                RAMAL1_REF_PESSOAL        = :NEW.RAMAL1_REF_PESSOAL,
                                RAMAL2_REF_PESSOAL        = :NEW.RAMAL2_REF_PESSOAL,
                                POSSUI_SEGURO             = :NEW.POSSUI_SEGURO,
                                TIPO_RENDA_PRESUMIDA      = :NEW.TIPO_RENDA_PRESUMIDA,
                                VALOR_RENDA_PRESUMIDA     = :NEW.VALOR_RENDA_PRESUMIDA,
                                QTD_PRESTACAO_PRESUMIDA   = :NEW.QTD_PRESTACAO_PRESUMIDA,
                                EMPRESA_USUARIO           = :NEW.EMPRESA_USUARIO,
                                TIPO_RENDIMENTO           = :NEW.TIPO_RENDIMENTO,
                                TEMPO_TRABALHO            = :NEW.TEMPO_TRABALHO,
                                TEMPO_RESIDENCIA1         = :NEW.TEMPO_RESIDENCIA1,
                                TIPO_LOG_CEP              = :NEW.TIPO_LOG_CEP,
                                CELULAR_REF1_PESSOAL      = :NEW.CELULAR_REF1_PESSOAL,
                                CELULAR_REF2_PESSOAL      = :NEW.CELULAR_REF2_PESSOAL
                                WHERE EMPRESA             = reg_dados_compart.empresacli
                                and CLIENTE               = reg_dados_compart.cliente; 
                             exception when others then
              
                                htp.print('erro');                      
                             end;
                          end loop;
                          close cur_dados_compart;
              
                          COMMIT;
                  end if;
               END IF;
              

              end if;

              end TRG_COMPART_TRAB_REFER;

              Muito obrigado

              #105818
              Avatar de rmanrman
              Participante

                @elciodba

                É necessário utilizar uma transação autonoma para utilizar o COMMIT dentro da TRIGGER. Pelo que vi você já está utilizando. A transação autonoma roda em paralelo da transação principal, ou seja, o ROLLBACK da transação principal não desfaz a transação autonoma, por isso não é recomandado utilizar.

                Ao utilizar a transação autonoma é necessário obrigatóriamente utilizar o COMMIT ou ROLLBACK, se analisar os IFs, tem situação que não é rodado o COMMIT ou ROLLBACK.

                #105819
                Avatar de elciodbaelciodba
                Participante

                  Muito obrigado pela explicação, o que eu preciso fazer para resolver isso??? tirar os IFs???? OU Pragma AUTONOMOUS_TRANSACTION não sei o que fazer para resolver esse problema.

                  #105821
                  Avatar de rmanrman
                  Participante

                    @elciodba

                    Solução com transação autonoma e com COMMIT:

                    create or replace trigger TRG_COMPART_TRAB_REFER
                    after insert on crd.trab_referencia
                    REFERENCING NEW AS NEW
                    for each row
                    declare
                    Pragma Autonomous_Transaction;
                    v_compartilha_cadastro crd.regras_negocio.compartilha_cadastro%type := null;
                    v_empresa_origem crd.cliente.empresa_origem%type;
                    v_cpf_cgc crd.cliente.cpf_cgc%type;
                    v_debug varchar2(1000);

                    --CURSOR PARA ATUALIZA¿¿O DO CADASTRO COMPARTILHADO
                    cursor cur_dados_compart(pc_codcpf_cgc in crd.cliente.cpf_cgc%type, pc_empresa_origem in crd.cliente.empresa_origem%type) is
                    select cli.empresa empresacli,
                    cli.cliente,
                    cli.empresa_origem,
                    cli.loja_origem,
                    rn.empresa,
                    rn.compartilha_cadastro
                    from crd.cliente cli, crd.regras_negocio rn
                    where cli.cpf_cgc = pc_codcpf_cgc
                    and cli.empresa_origem = rn.empresa
                    and cli.empresa_origem NOT IN (pc_empresa_origem)
                    and rn.compartilha_cadastro = 'S';
                    reg_dados_compart cur_dados_compart%rowtype;
                    begin

                    begin
                    select cli.cpf_cgc, cli.empresa_origem, rn.compartilha_cadastro
                    into v_cpf_cgc, v_empresa_origem, v_compartilha_cadastro
                    from crd.cliente cli, crd.regras_negocio rn
                    where cli.empresa = :NEW.EMPRESA
                    and cli.cliente = :NEW.CLIENTE
                    and cli.empresa_origem = rn.empresa;
                    exception
                    when others then
                    v_compartilha_cadastro := 'N';
                    end;

                    if (user 'REPADMIN') AND (v_compartilha_cadastro = 'S') then
                    open cur_dados_compart(v_cpf_cgc, v_empresa_origem);
                    loop
                    fetch cur_dados_compart
                    into reg_dados_compart;
                    exit when cur_dados_compart%notfound;
                    begin
                    UPDATE crd.trab_referencia
                    SET PAI = :NEW.PAI,
                    MAE = :NEW.MAE,
                    TRABALHO = :NEW.TRABALHO,
                    LOGRADOURO = :NEW.LOGRADOURO,
                    ENDERECO = :NEW.ENDERECO,
                    NUMERO = :NEW.NUMERO,
                    COMPLEMENTO = :NEW.COMPLEMENTO,
                    BAIRRO = :NEW.BAIRRO,
                    CIDADE = :NEW.CIDADE,
                    UF = :NEW.UF,
                    CEP = :NEW.CEP,
                    TELEFONE = :NEW.TELEFONE,
                    CELULAR = :NEW.CELULAR,
                    ENVIA_E_MAIL = :NEW.ENVIA_E_MAIL,
                    E_MAIL = :NEW.E_MAIL,
                    SALARIO = :NEW.SALARIO,
                    RENDA = :NEW.RENDA,
                    RENDA_NOMINAL = :NEW.RENDA_NOMINAL,
                    ADMISSAO = :NEW.ADMISSAO,
                    CGC_SOCIED = :NEW.CGC_SOCIED,
                    CAPITAL_SOC = :NEW.CAPITAL_SOC,
                    COTAS_SOC = :NEW.COTAS_SOC,
                    RESIDENCIA_SITUACAO = :NEW.RESIDENCIA_SITUACAO,
                    TEMPO_RESIDENCIA = :NEW.TEMPO_RESIDENCIA,
                    VAL_ALUGUEL = :NEW.VAL_ALUGUEL,
                    TELEFONE_SITUACAO = :NEW.TELEFONE_SITUACAO,
                    QTD_DEPENDENTES = :NEW.QTD_DEPENDENTES,
                    CARTOES_CREDITO = :NEW.CARTOES_CREDITO,
                    MARCA_VEICULO = :NEW.MARCA_VEICULO,
                    MODELO_VEICULO = :NEW.MODELO_VEICULO,
                    ANO_VEICULO = :NEW.ANO_VEICULO,
                    REF1_PESSOAL = :NEW.REF1_PESSOAL,
                    END1_REF_PESSOAL = :NEW.END1_REF_PESSOAL,
                    TEL1_REF_PESSOAL = :NEW.TEL1_REF_PESSOAL,
                    REF2_PESSOAL = :NEW.REF2_PESSOAL,
                    END2_REF_PESSOAL = :NEW.END2_REF_PESSOAL,
                    TEL2_REF_PESSOAL = :NEW.TEL2_REF_PESSOAL,
                    BCO1_BANCO = :NEW.BCO1_BANCO,
                    BCO1_AGENCIA = :NEW.BCO1_AGENCIA,
                    BCO1_CONTA = :NEW.BCO1_CONTA,
                    BCO2_BANCO = :NEW.BCO2_BANCO,
                    BCO2_AGENCIA = :NEW.BCO2_AGENCIA,
                    BCO2_CONTA = :NEW.BCO2_CONTA,
                    AUTORIZA_DEBITO = :NEW.AUTORIZA_DEBITO,
                    RENDA_FAMILIAR = :NEW.RENDA_FAMILIAR,
                    VAL_COTAS_SOC = :NEW.VAL_COTAS_SOC,
                    DATA_FUNDACAO_SOC = :NEW.DATA_FUNDACAO_SOC,
                    SITUACAO_VEICULO = :NEW.SITUACAO_VEICULO,
                    VALOR_VEICULO = :NEW.VALOR_VEICULO,
                    BCO1_TIPO_CONTA = :NEW.BCO1_TIPO_CONTA,
                    BCO2_TIPO_CONTA = :NEW.BCO2_TIPO_CONTA,
                    BCO1_CLI_DESDE = :NEW.BCO1_CLI_DESDE,
                    BCO2_CLI_DESDE = :NEW.BCO2_CLI_DESDE,
                    GRAU_INSTRUCAO = :NEW.GRAU_INSTRUCAO,
                    APRESENTOU_END = :NEW.APRESENTOU_END,
                    RAMAL1_REF_PESSOAL = :NEW.RAMAL1_REF_PESSOAL,
                    RAMAL2_REF_PESSOAL = :NEW.RAMAL2_REF_PESSOAL,
                    POSSUI_SEGURO = :NEW.POSSUI_SEGURO,
                    TIPO_RENDA_PRESUMIDA = :NEW.TIPO_RENDA_PRESUMIDA,
                    VALOR_RENDA_PRESUMIDA = :NEW.VALOR_RENDA_PRESUMIDA,
                    QTD_PRESTACAO_PRESUMIDA = :NEW.QTD_PRESTACAO_PRESUMIDA,
                    EMPRESA_USUARIO = :NEW.EMPRESA_USUARIO,
                    TIPO_RENDIMENTO = :NEW.TIPO_RENDIMENTO,
                    TEMPO_TRABALHO = :NEW.TEMPO_TRABALHO,
                    TEMPO_RESIDENCIA1 = :NEW.TEMPO_RESIDENCIA1,
                    TIPO_LOG_CEP = :NEW.TIPO_LOG_CEP,
                    CELULAR_REF1_PESSOAL = :NEW.CELULAR_REF1_PESSOAL,
                    CELULAR_REF2_PESSOAL = :NEW.CELULAR_REF2_PESSOAL
                    WHERE EMPRESA = reg_dados_compart.empresacli
                    and CLIENTE = reg_dados_compart.cliente;
                    exception
                    when others then

                          htp.print('erro');
                      end;
                    end loop;
                    close cur_dados_compart;  
                    COMMIT;
                    

                    ELSE
                    ROLLBACK;
                    end if;

                    end TRG_COMPART_TRAB_REFER;

                    Solução sem transação autonoma e sem COMMIT:

                    Desta forma o COMMIT é feito pela transação que disparou a TRIGGER.

                    create or replace trigger TRG_COMPART_TRAB_REFER
                    after insert on crd.trab_referencia
                    REFERENCING NEW AS NEW
                    for each row
                    declare
                    v_compartilha_cadastro crd.regras_negocio.compartilha_cadastro%type := null;
                    v_empresa_origem crd.cliente.empresa_origem%type;
                    v_cpf_cgc crd.cliente.cpf_cgc%type;
                    v_debug varchar2(1000);

                    --CURSOR PARA ATUALIZA¿¿O DO CADASTRO COMPARTILHADO
                    cursor cur_dados_compart(pc_codcpf_cgc in crd.cliente.cpf_cgc%type, pc_empresa_origem in crd.cliente.empresa_origem%type) is
                    select cli.empresa empresacli,
                    cli.cliente,
                    cli.empresa_origem,
                    cli.loja_origem,
                    rn.empresa,
                    rn.compartilha_cadastro
                    from crd.cliente cli, crd.regras_negocio rn
                    where cli.cpf_cgc = pc_codcpf_cgc
                    and cli.empresa_origem = rn.empresa
                    and cli.empresa_origem NOT IN (pc_empresa_origem)
                    and rn.compartilha_cadastro = 'S';
                    reg_dados_compart cur_dados_compart%rowtype;
                    begin

                    begin
                    select cli.cpf_cgc, cli.empresa_origem, rn.compartilha_cadastro
                    into v_cpf_cgc, v_empresa_origem, v_compartilha_cadastro
                    from crd.cliente cli, crd.regras_negocio rn
                    where cli.empresa = :NEW.EMPRESA
                    and cli.cliente = :NEW.CLIENTE
                    and cli.empresa_origem = rn.empresa;
                    exception
                    when others then
                    v_compartilha_cadastro := 'N';
                    end;

                    if user 'REPADMIN' then
                    IF INSERTING THEN
                    if (v_compartilha_cadastro = 'S') then

                        open cur_dados_compart(v_cpf_cgc, v_empresa_origem);
                        loop
                          fetch cur_dados_compart
                            into reg_dados_compart;
                          exit when cur_dados_compart%notfound;
                          begin
                            UPDATE crd.trab_referencia
                               SET PAI                     = :NEW.PAI,
                                   MAE                     = :NEW.MAE,
                                   TRABALHO                = :NEW.TRABALHO,
                                   LOGRADOURO              = :NEW.LOGRADOURO,
                                   ENDERECO                = :NEW.ENDERECO,
                                   NUMERO                  = :NEW.NUMERO,
                                   COMPLEMENTO             = :NEW.COMPLEMENTO,
                                   BAIRRO                  = :NEW.BAIRRO,
                                   CIDADE                  = :NEW.CIDADE,
                                   UF                      = :NEW.UF,
                                   CEP                     = :NEW.CEP,
                                   TELEFONE                = :NEW.TELEFONE,
                                   CELULAR                 = :NEW.CELULAR,
                                   ENVIA_E_MAIL            = :NEW.ENVIA_E_MAIL,
                                   E_MAIL                  = :NEW.E_MAIL,
                                   SALARIO                 = :NEW.SALARIO,
                                   RENDA                   = :NEW.RENDA,
                                   RENDA_NOMINAL           = :NEW.RENDA_NOMINAL,
                                   ADMISSAO                = :NEW.ADMISSAO,
                                   CGC_SOCIED              = :NEW.CGC_SOCIED,
                                   CAPITAL_SOC             = :NEW.CAPITAL_SOC,
                                   COTAS_SOC               = :NEW.COTAS_SOC,
                                   RESIDENCIA_SITUACAO     = :NEW.RESIDENCIA_SITUACAO,
                                   TEMPO_RESIDENCIA        = :NEW.TEMPO_RESIDENCIA,
                                   VAL_ALUGUEL             = :NEW.VAL_ALUGUEL,
                                   TELEFONE_SITUACAO       = :NEW.TELEFONE_SITUACAO,
                                   QTD_DEPENDENTES         = :NEW.QTD_DEPENDENTES,
                                   CARTOES_CREDITO         = :NEW.CARTOES_CREDITO,
                                   MARCA_VEICULO           = :NEW.MARCA_VEICULO,
                                   MODELO_VEICULO          = :NEW.MODELO_VEICULO,
                                   ANO_VEICULO             = :NEW.ANO_VEICULO,
                                   REF1_PESSOAL            = :NEW.REF1_PESSOAL,
                                   END1_REF_PESSOAL        = :NEW.END1_REF_PESSOAL,
                                   TEL1_REF_PESSOAL        = :NEW.TEL1_REF_PESSOAL,
                                   REF2_PESSOAL            = :NEW.REF2_PESSOAL,
                                   END2_REF_PESSOAL        = :NEW.END2_REF_PESSOAL,
                                   TEL2_REF_PESSOAL        = :NEW.TEL2_REF_PESSOAL,
                                   BCO1_BANCO              = :NEW.BCO1_BANCO,
                                   BCO1_AGENCIA            = :NEW.BCO1_AGENCIA,
                                   BCO1_CONTA              = :NEW.BCO1_CONTA,
                                   BCO2_BANCO              = :NEW.BCO2_BANCO,
                                   BCO2_AGENCIA            = :NEW.BCO2_AGENCIA,
                                   BCO2_CONTA              = :NEW.BCO2_CONTA,
                                   AUTORIZA_DEBITO         = :NEW.AUTORIZA_DEBITO,
                                   RENDA_FAMILIAR          = :NEW.RENDA_FAMILIAR,
                                   VAL_COTAS_SOC           = :NEW.VAL_COTAS_SOC,
                                   DATA_FUNDACAO_SOC       = :NEW.DATA_FUNDACAO_SOC,
                                   SITUACAO_VEICULO        = :NEW.SITUACAO_VEICULO,
                                   VALOR_VEICULO           = :NEW.VALOR_VEICULO,
                                   BCO1_TIPO_CONTA         = :NEW.BCO1_TIPO_CONTA,
                                   BCO2_TIPO_CONTA         = :NEW.BCO2_TIPO_CONTA,
                                   BCO1_CLI_DESDE          = :NEW.BCO1_CLI_DESDE,
                                   BCO2_CLI_DESDE          = :NEW.BCO2_CLI_DESDE,
                                   GRAU_INSTRUCAO          = :NEW.GRAU_INSTRUCAO,
                                   APRESENTOU_END          = :NEW.APRESENTOU_END,
                                   RAMAL1_REF_PESSOAL      = :NEW.RAMAL1_REF_PESSOAL,
                                   RAMAL2_REF_PESSOAL      = :NEW.RAMAL2_REF_PESSOAL,
                                   POSSUI_SEGURO           = :NEW.POSSUI_SEGURO,
                                   TIPO_RENDA_PRESUMIDA    = :NEW.TIPO_RENDA_PRESUMIDA,
                                   VALOR_RENDA_PRESUMIDA   = :NEW.VALOR_RENDA_PRESUMIDA,
                                   QTD_PRESTACAO_PRESUMIDA = :NEW.QTD_PRESTACAO_PRESUMIDA,
                                   EMPRESA_USUARIO         = :NEW.EMPRESA_USUARIO,
                                   TIPO_RENDIMENTO         = :NEW.TIPO_RENDIMENTO,
                                   TEMPO_TRABALHO          = :NEW.TEMPO_TRABALHO,
                                   TEMPO_RESIDENCIA1       = :NEW.TEMPO_RESIDENCIA1,
                                   TIPO_LOG_CEP            = :NEW.TIPO_LOG_CEP,
                                   CELULAR_REF1_PESSOAL    = :NEW.CELULAR_REF1_PESSOAL,
                                   CELULAR_REF2_PESSOAL    = :NEW.CELULAR_REF2_PESSOAL
                             WHERE EMPRESA = reg_dados_compart.empresacli
                               and CLIENTE = reg_dados_compart.cliente;
                          exception
                            when others then
                    
                              htp.print('erro');
                          end;
                        end loop;
                        close cur_dados_compart;
                      end if;
                    END IF;
                    

                    end if;

                    end TRG_COMPART_TRAB_REFER;

                    Verifique qual é a melhor solução, provavelmente você deve seguir um padrão de desenvolvimento.

                    #105832
                    Avatar de elciodbaelciodba
                    Participante

                      Gostaria de agradecer deu certo. Agora esta vendo se é viável. Mas muito obrigado.

                    Visualizando 9 posts - 1 até 9 (de 9 do total)
                    • Você deve fazer login para responder a este tópico.
                    plugins premium WordPress