execuçao de instruçao em um bloco PL/SQL

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
Marlon Pasquali
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 28
Registrado em: Seg, 20 Mar 2006 3:40 pm
Localização: Erechim - RS

pessoal preciso de uma ajuda. Tenho que executar dentro de um bloco PL/SQL o seguinte comando:

alter system kill session '''' || r_sessoes.sessao || ',' || r_sessoes.serial || '''' immediate;


sem as concatenaçoes o comado ficaria assim:

alter system kill session '123,2397' immediate;

as variaveis vem de um cursor que foi definido.

Como posso executar este comando. Tentei utilizar o EXECUTE IMMEDIATE mas não consegui. não sei como usar sua sintaxe. alguém pode me ajudar ?

obrigado

Marlon
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

Com EXECUTE IMMEDIATE tinha que funcionar. (não esquecendo o ; no fim do comando).
Será que o usuário que ta executando tem privilégios de fazer um ALTER SYSTEM KILL ?
rsnaumann
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 13
Registrado em: Qui, 30 Nov 2006 11:42 am
Localização: São Paulo - SP

Olá Marlon Pasquali.

Como o dr_gori disse com execute immediate deveria funcionar.

Segue um exemplo:
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_LANGUAGE= ''BRAZILIAN PORTUGUESE''';

No seu caso deveria gerar um comando como este:
EXECUTE IMMEDIATE 'alter system kill session ''123,2397'''

Sendo que o que vem depois do execute immediate deve ser uma string.
Responder
  • Informação
  • Quem está online

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