REF 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 Qua, 03 Nov 2004 4:46 pm

BUENAS

ESTOU COM UM PROBLEMA COM O TIPO REF CURSOR

NA VERSÃO 8.0.5

EU DECLARO

Código: Selecionar todos
TYPE CURSOR_AUX IS REF CURSOR;
CURSOR_LOKO CURSOR_AUX;


E DEPOIS QUANDO EU TENTO VINCULAR UMA VARIÁVEL VARCHAR2 COM UMA CONSULTA SQL AO CURSORELE DÁ UM ERRO

PLS: 00103 - ENCONTRADO SÍMBOLO CMD_SQL QUANDO UM DOS SEGUINTES SIMBOLOS ERA ESPERADO: "SELECT"

Código: Selecionar todos
cmd_sql := 'SELECT DISTINCT(SYSFON.CDCHAVE) CDCHAVE FROM SYSFON :wc';

OPEN CURSOR_LOKO FOR cmd_sql using where_clause

agradeço a ajuda....abraços!!!
MuLtAnI
Localização: Videira - SC


Mensagemem Qua, 03 Nov 2004 5:32 pm

Será que não é que está faltando uma cláusula Where ?

Código: Selecionar todos
'SELECT DISTINCT(SYSFON.CDCHAVE) CDCHAVE FROM SYSFON :wc';
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 Qua, 03 Nov 2004 5:41 pm

olá glufke, como eu estou passando uma string para o ref cursor quando eu passo no using a variável where_clause como é passado como parâmetro uma string equivalente ao comando sql mesmo que eu

passe o sql corrido

Código: Selecionar todos
        cmd_sql := 'SELECT DISTINCT(SYSFON.CDCHAVE) CDCHAVE FROM SYSFON WHERE :cm';
      
OPEN CURSOR_LOKO FOR cmd_sql using condition;

onde condition é a string montada com a condição do meu sql ele diz que encontrou cmd_sql quando esperava Select
MuLtAnI
Localização: Videira - SC


Mensagemem Qua, 03 Nov 2004 5:48 pm

Isso funciona???
Eu achei que o USING era só pra passar VALORES para as binds... (E não usar como variável de substituição de código)

Vou pesquisar isso...
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 Qua, 03 Nov 2004 5:53 pm

Na verdade eu também não sei se funciona, eu preciso criar a cláusula where dinâmica e pensei em algo como o excute immediate, mas como eu preciso tratar os valores retornados da consulta pensei em usar um cursor e dar um fetch, dae seria só mandar bala mas pelo jeito eu não consigo fazer isso...

a não ser que tenha algum jeito que eu não encontrei ou desconheço de trabalhar com os valores retornados do execute immediate como se fosse um cursor por exemplo


obrigado pela atenção!!!

[]'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: Bing [Bot], Google [Bot] e 3 visitantes