/*
Senhores, tenho uma "deficiência" de não conhecer todos os recursos do
PL e também de SQL mas me esforço o máximo para a cada dia ir aprendendo
mais e me superar, por isso antes de postar aqui sempre tento achar uma
solução por conta própria.
Bem eu preciso de uma ajuda para conseguir a entender a estrutra do PL/SQL
e seus recursos e como posso utilzá-los para resolver alguns problemas.
O caso é o seguinte, possuo uma lista de redes e preciso gerar arquivos
textos para as mesmas conforme for sendo encontrado referencias delas em
outra tabela a qual essas redes se relacionam. Esta segunda tabela, contem
as movimentações de compras efetuadas pelas redes da lista. Até então, tudo
bem faço o relacionamento procurando as ocorrencias na tabela armazeno em um
cursor e através do conteudo do cursor gero os arquivos necessários separando-os
por cada rede.
O problema é que quando não existem movimentações para determinada rede o
cursor não é preenchido e simplesmente não gera o arquivo, até então acre-
dito que este seja um comportamento "normal", a questão é que se perde em
partes o controle físico dos arquivos que não são gerados para o arquivamen-
to exigido pelo cliente, que quer que seja enviado o arquivo em branco com-
provando que não houveram movimentações.
Cogitei várias soluções, dentre elas verificar se o cursor está vazio e gerar
um arquivo qualquer sem conteúdo, já que não é exigido nenhum cabeçalho o qual-
quer outro detalhamento, o incoveniente neste caso é que como são várias redes,
qual saber a que não houve movimentação em determinado período?
Pensei também em criar um cursor apenas para pegar as redes que não tiveram
movimentação, fazendo uma comparação de uma lista fixa (exemplo, as redes exis-
tentes são A, B, C, D, E, as que tiveram movimentação foram B, D, E) com as lis-
ta das redes retornadas onde foram encotradas movimentações.
É aí que entra a minha "limitação" técnica, criar o cursor tudo bem, mas como
vou fazer para comparar o conteúdo de duas queries, pegar apenas o resultado
da diferença entre ambas e gerar os arquivos? Sei que posso utlizar o UNION
ou MINUS para pegar a diferença, mas devo armazenar o resultado em alguma es-
pecie de matriz, ou numa VIEW, tabela temporária?!
Grato a quem puder ajudar.
*/
Gerar arquivo texto em branco a partir do resultado de um cu
-
- Rank: DBA Sênior
- Mensagens: 318
- Registrado em: Seg, 16 Nov 2009 4:50 pm
- Localização: São Paulo - SP
- fsitja
- Rank: OraSauro
- Mensagens: 611
- Registrado em: Seg, 19 Jan 2009 4:29 pm
- Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Pelo que entendi, se resolveria o problema usando "outer join", mais comumente o Left Join.
Tipo:
Se quiser algo mais preciso, precisaríamos que você postasse as colunas das tabelas e alguns dados de exemplo para elas, junto com a saída que você espera obter.
Tipo:
select r.cod_rede, r.col1, r.col2, etc
from rede r
left join movim m on m.cod_red = r.cod_rede
where etc etc...
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes