Galera, a pergunta pode ser meio idiota, mas é que aqui se utilizam muito list, então não manjo muito da manipulação de blocos multi record
como eu faço pro bloco exibir informações de tabelas relacionadas?
sei da propriedade WHERE CLAUSE, ORDER BY, mas onde e como eu especifíco as tabelas???
abraço
Como popular bloco não base table com várias tables relacion
-
- Rank: Programador Júnior
- Mensagens: 25
- Registrado em: Seg, 17 Mar 2008 2:31 pm
- Localização: MARINGA-PR
as propriedades do bloco você seta a propriedade QUERY DATA SOURCE TYPE como FROM CLAUSE QUERY.
e na propriedade QUERY DATA SOURCE NAME você escreve um select para trazer os dados q você quer, com base nas tabelas que você quiser.
os campos do bloco são base table yes com o mesmo nome e tipo do select.
where e order by clause podem ser usado normalmente, usando os nomes de colunas que o select retorna.
e na propriedade QUERY DATA SOURCE NAME você escreve um select para trazer os dados q você quer, com base nas tabelas que você quiser.
os campos do bloco são base table yes com o mesmo nome e tipo do select.
where e order by clause podem ser usado normalmente, usando os nomes de colunas que o select retorna.
- dr_gori
- 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
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Exatamente!
O procedimento é muito parecido com esse link:
http://glufke.net/oracle/viewtopic.php?t=5
(esse baseia um bloco numa view).
A única diferença é que dá pra basear direto num SQL, como a MARISTELAFALCO falou acima...
O procedimento é muito parecido com esse link:
http://glufke.net/oracle/viewtopic.php?t=5
(esse baseia um bloco numa view).
A única diferença é que dá pra basear direto num SQL, como a MARISTELAFALCO falou acima...
- Porva
- Rank: DBA Sênior
- Mensagens: 342
- Registrado em: Seg, 29 Jan 2007 7:36 am
- Localização: São Paulo/SP
Rafael S. Nunes
São Paulo/SP
São Paulo/SP
mas nesse caso, apenas os campos devem ser base table, porque não faz sentido o bloco ser, já que ele estará relaciodo a mais de uma tabela e servirá apenas para visualização de registros?
- Porva
- Rank: DBA Sênior
- Mensagens: 342
- Registrado em: Seg, 29 Jan 2007 7:36 am
- Localização: São Paulo/SP
Rafael S. Nunes
São Paulo/SP
São Paulo/SP
tentei fazer aqui mas não consegui
Query Data Source Type: FROM Clause Query
Query Data Source Name:
WHERE Clause:
ORDER BY Clause:
Data base Data block: No
Data base dos campos do select: Yes
e 1 campo é um check que criei que não é base table
para executar:
aí aparece a msg: 41003 - Cannot function be performed here
obs: testei o Select no banco e funcionar normalmente, me retornando 2 registros para esse caso específico
Query Data Source Type: FROM Clause Query
Query Data Source Name:
SELECT rhfunc.func_cd,
rhpessoa.pess_nm_nome,
TO_CHAR(Trunc(rhlotacao.data_dt_inicial,'DD') + 35, 'DD/MM/YY') Dt_Rh_45, TO_CHAR(Trunc(rhlotacao.data_dt_inicial,'DD') + 80, 'DD/MM/YY') Dt_Rh_90
FROM rhpessoa, rhfunc, rhexper, rhlotacao, georgset
WHERE rhpessoa.pess_cd = rhfunc.pess_cd
AND rhfunc.empr_cd = rhlotacao.empr_cd
AND rhfunc.func_cd = rhlotacao.func_cd
AND rhlotacao.empr_cd = rhexper.empr_cd
AND rhlotacao.func_cd = rhexper.func_cd
AND rhlotacao.empr_cd = georgset.empr_cd
AND rhlotacao.orgs_cd = georgset.orgs_cd
AND rhlotacao.data_dt_final IS NULL
AND rhlotacao.lota_cd = GetLotaCdPrincipal(rhlotacao.empr_cd, rhlotacao.func_cd, 'I', SYSDATE)
AND rhlotacao.empr_cd = :b01.empr_cd
AND EXISTS (SELECT NULL
FROM rhexpencar
WHERE rhlotacao.empr_cd = rhexpencar.empr_cd
AND rhlotacao.orgs_cd = rhexpencar.orgs_cd
AND rhexpencar.func_cd = :b01.func_cd_resp_rh)
ORDER BY 1
Data base dos campos do select: Yes
e 1 campo é um check que criei que não é base table
para executar:
GO_BLOCK('b02');
CLEAR_BLOCK(NO_VALIDATE);
EXECUTE_QUERY;
obs: testei o Select no banco e funcionar normalmente, me retornando 2 registros para esse caso específico
-
- Rank: DBA Pleno
- Mensagens: 264
- Registrado em: Dom, 19 Ago 2007 8:18 pm
- Localização: Ribeirão Preto - SP
Lucas de Souza
OCA Developer
Analista de sistemas
OCA Developer
Analista de sistemas
você pode montar o select em uma string na pre-query, e setar essa string como query_data_source_name, desse jeito:
=D
set_block_property('nome do bloco',query_data_source_name,nome_da_variavel_que_tem_o_select);
-
- Rank: DBA Pleno
- Mensagens: 264
- Registrado em: Dom, 19 Ago 2007 8:18 pm
- Localização: Ribeirão Preto - SP
Lucas de Souza
OCA Developer
Analista de sistemas
OCA Developer
Analista de sistemas
tinha esquecido de falar lá em cima....
sempre quando você mexer com blocos "From clause query"
você precisa preencher o campo "Query Data Source Columns" do bloco, com o nome dos campos que tem no seu select
=D
sempre quando você mexer com blocos "From clause query"
você precisa preencher o campo "Query Data Source Columns" do bloco, com o nome dos campos que tem no seu select
=D
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 21 visitantes