Mensagem na Tela Durante Execução de Procedure

Scripts Diversos para o Oracle SQL*Plus. (Relacionado a ferramenta Oracle SQL*Plus, para questões de SQL, usar o forum SQL)
Responder
ace_of_spades
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Qua, 09 Jul 2008 9:27 am
Localização: Salvador - BA

Pessoal, é uma coisa meio simples mas nunca precisei fazer, entaum preciso descobrir como se faz (se for possível).

Tenho uma procedure no Banco de Dados que quando é executada (através do SQLPlus) demora muito para terminar a execução, as vezes parece até que o sistema travou, então gostaria de mostrar uma mensagem na tela descrevendo os passos da procedure enquanto ela é executada para que não fique parecendo que o SQLPlus travou, tem como fazer isso?

Tipo: Aguarde, atualizando tabela 1..
Tabela 1 atualizada com sucesso.
Aguarde, atualizando tabela 2..
Tabela 2 atualizada com sucesso.
.
.
.
Aguarde, atualizando tabela n..
Tabela n atualizada com sucesso.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Em que "Tela" seria essa brother? Forms?
Caso seja, você pode utilizar o SYNCHRONYZE.

Se for via SQL*Plus, você poderia criar uma tabela de mensagens, e, durante o processo, ir inserindo nela.

Daí, enquanto roda, você vai consultando essa tabela.

Se não for isso, manda pra gente.
ace_of_spades
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Qua, 09 Jul 2008 9:27 am
Localização: Salvador - BA

É no SQLPlus sim, rodo a procedure através dele e queria que fosse aparecendo o andamento da procedure na tela do SQLPlus enquanto ela é executada.

Pensei que houvesse algum comando que pudesse colocar na procedure e me permitisse fazer isso, se não houver a sua idéia de criar uma tabela serve bem pro que eu quero.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Então, em alguns pontos da tua procedure, faça o seguinte:

1) Antes de rodá-la: SET SERVEROUTPUT ON;
2) Nos pontos da procedure, coloque um OUTPUT:

Selecionar tudo

DBMS_OUTPUT.PUT_LINE('Passei no ponto X da proc.');
3) Rode a proc e veja se o resultado é satisfatório;

qualquer coisa, manda pra gente.
Responder
  • Informação
  • Quem está online

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