Execução de Procedure armazenado em uma tabela

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
alextds
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Qua, 05 Dez 2018 8:47 am

Olá gostaria de sabe como faço para executar um comando que esteja armazenado em linhas em uma tabela.
ex: na tabela list_files tenho os seguintes comandos:

Selecionar tudo

execute nome_precedure ('/u01/temp' , 'arquivo_1.txt');
execute nome_precedure ('/u01/temp' , 'arquivo_2.txt');
execute nome_precedure ('/u01/temp' , 'arquivo_3.txt');
gostaria de saber se tem como executar esses comandos a partir desses registros.
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Acho que o execute immediate pode lhe ajudar !!!
alextds
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Qua, 05 Dez 2018 8:47 am

tentei más também sem sucesso.
alextds
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Qua, 05 Dez 2018 8:47 am

Selecionar tudo

DECLARE
str           VARCHAR2(200);
BEGIN
str    := 'SELECT * FROM VW_LIST_FILES';
EXECUTE IMMEDIATE str;
END;
/
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

Explica melhor o que você quer fazer.
É pra executar uma query dinamica ? ou é pra executar algum comando/procedure que está dentro de uma tabela

Pra cada caso pode ter uma solução diferente.
alextds
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Qua, 05 Dez 2018 8:47 am

pra executar algum comando/procedure que está dentro de uma tabela
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

Então, fica mais fácil se você demonstrar o que você precisa.
Basicamente é:
* Capturar da sua tabela o que você quer executar e salvar numa variável.
* Rodar o EXECUTE IMMEDiATE sua variável.
Responder
  • Informação