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
Responder
Avatar do usuário
MuLtAnI
Moderador
Moderador
Mensagens: 90
Registrado em: Ter, 01 Jun 2004 9:21 am
Localização: Videira - SC
Contato:

BUENAS

ESTOU COM UM PROBLEMA COM O TIPO REF CURSOR

NA VERSÃO 8.0.5

EU DECLARO

Selecionar tudo

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"

Selecionar tudo

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!!!
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

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

Selecionar tudo

'SELECT DISTINCT(SYSFON.CDCHAVE) CDCHAVE FROM SYSFON :wc'; 
Avatar do usuário
MuLtAnI
Moderador
Moderador
Mensagens: 90
Registrado em: Ter, 01 Jun 2004 9:21 am
Localização: Videira - SC
Contato:

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

Selecionar tudo

        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
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

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...
Avatar do usuário
MuLtAnI
Moderador
Moderador
Mensagens: 90
Registrado em: Ter, 01 Jun 2004 9:21 am
Localização: Videira - SC
Contato:

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
Responder
  • Informação
  • Quem está online

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