execute immediate com cursor

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
  

Mensagemem Sex, 12 Mai 2006 4:20 pm

A rodar o pl abaixo retorno erro, esta correto o escopo do pl?
Preciso de ajuda....o mais urgente possivel.

Código: Selecionar todos
declare
msg varchar2(5000);
resp varchar2(1000);
begin
for c in ( select distinct table_name,column_name
           from all_cons_columns
           where table_name like 'DIM%'
           and constraint_name like '%FK'
           and owner = 'MDW'
           order by table_name) loop
      msg := 'SELECT COUNT(*) FROM ' || c.table_name || ' WHERE ' || c.column_name ||  '= -1;';
      EXECUTE IMMEDIATE msg  into resp;
    --  execute immediate 'SELECT COUNT(1) FROM ' || c.table_name  || ';' 
      --into msg;
      dbms_output.put_line (msg);   
  end loop;
end;
mrj
Localização: Rio de janeiro - RJ

Mensagemem Sáb, 13 Mai 2006 9:55 pm

Que erro?
O que você quer fazer?
Talvez o que você procura já esteja pronto. Procure no forum!

Gilberto
gilbertoca
Localização: Palmas - TO


Mensagemem Seg, 05 Jun 2006 12:50 pm

Parece que o problema é o ; que tem depois do -1.
Tirei ele e a rotina funcionou.

Outra coisa: Seu dbms_output está mostrando o SELECT e não a RESP.
dr_gori
Localização: Portland, OR USA

Thomas F. G

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

Mensagemem Seg, 12 Jun 2006 11:49 am

Só complementando

dbms_output.put_line (resp);

[]'s
MuLtAnI
Localização: Videira - SC



  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


      Voltar para PL/SQL

      Quem está online

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