Fórum Parametro is null #523304
18/06/2015
0
Estou com uma duvida como proceder, estou desenvolvendo um relatório onde um campo da tabela não inseríamos informações, pois agora para identificar alguns lançamentos iremos utilizar o mesmo, porem esse mesmo campo irá ser parâmetro do relatório.
Para que mostre a informação da linha preciso utilizar o comando
select * from tabela where campo is null
Desde já agradeço
Kaio
Curtir tópico
+ 0Posts
22/06/2015
Marisiana Battistella
IF v_parametro IS NULL THEN
select * from tabela where campo is null;
ELSE
select * from tabela where campo = v_paramentro;
END;Gostei + 0
22/06/2015
Jothaz
[url:descricao=IS NULL ou ISNULL()? Eis a questão!]http://forum.imasters.com.br/topic/225194-resolvido-is-null-ou-isnull-eis-a-questao/[/url]
o exemplo no final mostra como usar o isnull de forma dinâmica, você pode passar ou não o parâmetro que a query retorna o valor.
Gostei + 0
22/06/2015
Marisiana Battistella
Existem várias formas de tratar uma situação assim, tudo depende de analisar qual melhor se aplica.
Essa forma que apresentei pode ser utilizada em casos em que as duas situações devem uma regra diferente para retornar os dados.
Se o que muda é apenas a situação " where campo is null ", poderia utilizar uma variável para completar o filtro.
select t.campo from tabela t where t.campo v_variavel;
Nesse caso a variavel deve receber o valor " IS NULL" ou " = parametro "
Já utilizei isso para resolver uma situação onde eu precisava rodar o mesmo SQL para 3 situações o diferentes, sendo que para cada situação deveria ou não aplicar um filtro a mais na consulta. Essa situação de passar ou não o filtro eu tratei na aplicação...
Gostei + 0
22/06/2015
Jothaz
Ainda mais se for utilizar .Net MVC ou Ruby, assim a aplicação fica realmente independente do banco de dados o que facilita a migração e atender a qualquer cenário.
O post em questão foi feito em 23 abril 2007, nesta época até mesmo os mecanismos de bd não estavam tão aprimorados, as linguagens/tecnologias de desenvolvimento estavam no seu limiar, os processadores de maior capacidade eram Pentium II e memórias custavam os olhos, ruins, coração e a alma. Desenvolver para web era bem complicado.
Então, dependendo do cenário, abordagens como a proposta pelo post eram usuais e funcionais. Você retirava o trabalho da aplicação e deixava a cargo do bd.
Postei o link só mesmo como base de conhecimento, talvez hoje serve de exemplo de como não abordar o assunto. kkk
E deixei o aviso que foi feito:
"A long time ago, in a galaxy far,
far away...."
Gostei + 0
23/06/2015
Marisiana Battistella
Por exemplo, se estiver utilizando Oracle, torna-se muito mais viável deixar a maior parte do processamento para o BD e "aliviar" a aplicação.
Gostei + 0
23/06/2015
Jothaz
Por exemplo, se estiver utilizando Oracle, torna-se muito mais viável deixar a maior parte do processamento para o BD e "aliviar" a aplicação.
Para variar vamos de clichê, tudo depende do cenário.
E claro talvez tenha me expressado mal quando me referir ao tratamento de dados ser feito na aplicação. Claro se você gasta uma fortuna em SGBD e não utilizar seus recursos, no mínimo você esta viajando na maionese. O filtros e ordenções principais e até algum processamento não tem como fugir é da alçada do DB. Assim você filtra o seu "datasnap".
Agora com o advento de tecnologias como o AngularJS e knockout unidos a serialização dão uma facilidade, robustez e desempenho na manipulação de dados que você nem nota a falta de SGBD. Com a vantagem de efetuar tudo na memória (e hoje memória não é problema) além de desonerar a rede.
É algo trivial e que se aplica a todos os cenários? Certamente não. Mas com conhecimento e planejamento é bem factível. Claro que isto só será possível sem negligenciar a modelagem de dados e classes.
Sou das antigas e gosto dos SQGBD´s (principalmente Oracle e estou gostando muito do SQL Server) relacionais e Stored Procedures, então o que vou dizer é quase um sacrilégio, mas após você trabalhar com um banco de dados NoSQL, ou mesmo orientado a objetos, a sua visão muda. E sinceramente depois que abri a mente para outras abordagens considero que houve uma evolução na forma como vejo as coisas.
Gostei + 0
23/06/2015
Marisiana Battistella
Eu ouço o meus colegas comentando sobre algumas tecnologias e apesar de não usar no meu trabalho, ao menos tento saber que existe e pra que serve.
Gostei + 0
23/06/2015
Jothaz
Eu ouço o meus colegas comentando sobre algumas tecnologias e apesar de não usar no meu trabalho, ao menos tento saber que existe e pra que serve.
Marisiana você com sua doçura e educação nunca me contraria, muito antes pelo contrário sempre tenho sua palavras como relevantes e pertinentes.
Talvez meus post´s sejam áridos, mas não faço por mal ou mesmo por estar melindrado, acho que é porque tenho um tendência a ser pragmático.
Podemos até divergir em nossa visão o que acho necessário e produtivo, mas nossos objetivos são os mesmo aprimorar nossos conhecimentos e neste processo ajudar a outras pessoas.
Não sou um bom escritor e as vezes em expresso mal, então me perdoe qualquer deslize.
Você é das pessoal por quem nutro um admiração genuína e além de tudo é uma lady. Então sua opinião é sempre bem vinda e ainda pretendo aprender muito você.
Gostei + 0
23/06/2015
Marisiana Battistella
Você é sempre bem objetivo em expressar tua opinião e sua participação sempre agrega muito aos posts do fórum!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)