BOM DIA
Gente, eu tenho um select na query data source name e la na where eu to querendo colocar por exemplo num_teste = :global.p_teste e não funciona, se eu coloco o codigo do teste funciona
alguém tem uma resposta para isso, eu consegui fazer funcionar tirando essa where do query data source name e colocando na WHERE Clause num_teste = :global.p_teste e funcionou
mas acho que essa solução não seria a certa, então por favor, alguém me ajude a entender se assim mesmo ou se existe uma solução profissional para isso.
Obrigado!!!
clausula query não permite VARIAVEL GLOBAL ?
- leobbg
- Rank: Programador Júnior
- Mensagens: 22
- Registrado em: Sex, 29 Out 2004 10:25 am
- Localização: PORTO ALEGRE - RS
Leo BBG Consultor Oracle
Realmente não funciona amigo, você pode tratar de N formas para contornar essa situação, mas o que posso dizer em resumo é:
Como você mesmo disse está utilizando uma QUERY no bloco, bom o oracle vai no banco e executa essa query, mas quando ele chega lá ele se depara uma variável Bind ( :global.p_teste ) que ele não tem a menor idéia que valor tem, devemos então sempre ter esse pensamento, a QUERY é executada no banco e não no próprio forms, devemos passar os valores dessas variáveis Bind para ele entender, uma das formas que você arrumou foi a where clause, mas também pode se mondar a query dinamicamente se precisar substituir mais valores, e outras mais.
Bom espero ter ajudado, qualquer coisa, prende o grito!!
falou!!!!
Como você mesmo disse está utilizando uma QUERY no bloco, bom o oracle vai no banco e executa essa query, mas quando ele chega lá ele se depara uma variável Bind ( :global.p_teste ) que ele não tem a menor idéia que valor tem, devemos então sempre ter esse pensamento, a QUERY é executada no banco e não no próprio forms, devemos passar os valores dessas variáveis Bind para ele entender, uma das formas que você arrumou foi a where clause, mas também pode se mondar a query dinamicamente se precisar substituir mais valores, e outras mais.
Bom espero ter ajudado, qualquer coisa, prende o grito!!
falou!!!!
-
- Rank: Programador Júnior
- Mensagens: 17
- Registrado em: Seg, 10 Abr 2006 5:00 pm
- Localização: Guarujá - SP
Então, para melhorar a situação, coisa boa heim
ao invés de fazer do jeito anterior, eu fiz assim:
cria uma PU e joga a select dentro de um varchar e depois executa ela
v_query := '(select blablabla)
e depois
SET_BLOCK_PROPERTY('teste',QUERY_DATA_SOURCE_NAME,v_query);
pronto, ta bala mano!!! pefeito
ao invés de fazer do jeito anterior, eu fiz assim:
cria uma PU e joga a select dentro de um varchar e depois executa ela
v_query := '(select blablabla)
e depois
SET_BLOCK_PROPERTY('teste',QUERY_DATA_SOURCE_NAME,v_query);
pronto, ta bala mano!!! pefeito
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 18 visitantes