Cursor

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
renan_pre
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 50
Registrado em: Ter, 10 Abr 2007 11:08 am
Localização: São Paulo - SP
M. Renan

Galera, tudo beleza?

Está dando erro num cursor que estou tentando fazer, o forms não aceita subselect?

exemplo do cursor:

Selecionar tudo

Cursor C is
   select conta.cod_cliente,
            ( select nome_cliente
                from cliente
              where cod_cliente = conta.cod_cliente ) nome_cliente 
    from conta
  where conta.emissao = to_date('22/09/2008','dd/mm/yyyy') ;
O erro que dá é:

Encountered the symbol "SELECT" when expecting one of the following:
( - + mod not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
cas <a string literal with character set specification>
<a number> <a single-quoted SQL string>
Encountered the symbol "NOME_CLIENTE" when expecting one of the following:
) intersect minus union
Encontered the symbol "CURSOR"

Enfim, neste caso eu sei que daria pra fazer um join com a tabela conta, mas, esse é só um exemplo que também da o erro, porque o cursor original é bem extenso e ficaria mais complicado se eu fizesse o joins e outer joins de mais de 10 tabelas....

alguém saberia me dizer porque dá esse erro?

Valeu!!
renan_pre
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 50
Registrado em: Ter, 10 Abr 2007 11:08 am
Localização: São Paulo - SP
M. Renan

Pessoal, o meu problema eu consegui resolver fazendo vários cursores, onde antes eram subselects, mas, mesmo assim fiquei intrigado, porque será que dá esse erro?! o forms não aceita o subselect ou faltou fazer alguma coisa?!

abraços
Diego_Mello
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 229
Registrado em: Sex, 05 Set 2008 2:59 pm
Localização: Igrejinha - RS
Diego Mello
Igrejinha - RS
www.twitter.com/diegolmello

Renan...
criei um cursor da mesma forma que você disse...
eu odeio dizer isso mas... eu também não consegui...

suponho que o forms, realmente, não aceite subselect em cursor...

o que você pode fazer é uma função em separado...
que traga os valores desejados...

flwz!! :-o
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

Brothers, creio q não deixe mesmo... ele tem algumas restrições 'estranhas'.

O que dá pra ser feito é uma função e, chamar a mesma no select, talvez funcione... só testar.
renan_pre
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 50
Registrado em: Ter, 10 Abr 2007 11:08 am
Localização: São Paulo - SP
M. Renan

Ok galera!

valeu pelas dicas!

Abraços
Responder
  • Informação
  • Quem está online

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