Update dinâmico

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
pnet1
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 73
Registrado em: Qui, 23 Jan 2020 9:12 pm

Preciso construir 3 proc de update. A questão é que algumas tabelas tem muitos campos e não exatamente qual o campo receberá alteração, pois vai depender do momento em que for necessitada. Logo então, vem a idéia de um update dinâmico, tipo, se for o campo1 atualiza ele, se for o campo2 então vai ele, se for ambos, serão ambos e assim por diante. Como faria isso?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Pode usar EXECUTE IMMEDIATE pra isso.
Monta o seu update em uma variável, e executa assim:

Selecionar tudo

EXECUTE IMMEDIATE variavel;
ou pode usar binds se quiser

Selecionar tudo

EXECUTE IMMEDIATE 'DELETE FROM dept WHERE deptno = :num'
      USING dept_id;
Manual: https://docs.oracle.com/cd/B12037_01/ap ... ems017.htm
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 17 visitantes