Estado de São Paulo sinaliza a utilização do Cupom Fiscal Eletrônico, vejam:
sexta-feira, 23 de julho de 2010
segunda-feira, 12 de julho de 2010
Dica de padronização de comandos SQL (Campos com especificação do nome da tabela)
Um problema muito frequente que ocorre nos aplicativos nas consultas efetuadas as informações das tabelas do banco de dados é o erro de “ambiguidade”, ou seja, aplicativos que estavam rodando normalmente e na inclusão de um simples campo em uma determinada tabela pode gerar erro em qualquer ponto do aplicativo se as query´s que utilizam junções (JOIN) não estiverem bem estruturadas.
Exemplo:
Digamos que em nossa base de dados tenhamos a seguintes tabelas:
CREATE TABLE CLIENTE(IDCliente INTEGER,Nome CHARACTER(60),IDGrupo INTEGER,Obs CHARACTER(100))CREATE TABLE GRUPO(IDGrupo INTEGER,Descricao CHARACTER(60))
Podemos montar uma consulta da seguinte forma que o resultado será apresentado sem nenhum erro, veja:
SELECT NOME,DESCRICAO,OBSFROM CLIENTELEFT JOIN GRUPO ON GRUPO.IDGRUPO = CLIENTE.IDGRUPO
Agora digamos que a necessidade nos leve a incluir na tabela GRUPO um campo com o nome “Obs”, desta forma o comando acima descrito passa a retornar um erro, pois teremos dois campos com o mesmo nome nas tabelas “CLIENTE” e “GRUPO”. Naturalmente no aplicativo onde estiver utilizando este SELECT, será gerado uma exceção referente a “ambiguidade”, pois o banco de dados não saberá qual campo “Obs” ele deve retornar na consulta, se o da tabela “CLIENTE” ou “GRUPO”.
Para evitar este tipo de falha, devemos ter como padrão a utilização do nome da tabela na frente de todos os campos relacionados nas consultas (SELECT´S). Exemplo:
SELECT C.NOME,G.DESCRICAO,C.OBSERVACAOFROM CLIENTE AS CLEFT JOIN GRUPO AS G ON G.IDGRUPO = C.IDGRUPO
Desta forma se alguma mudança for efetuada nas tabelas, não corremos o risco de ocorrerem falhas de ambiguidade em nossa aplicação.
-
Coisa simples para muitos mas um desafio para outros, sendo assim, resolvi compartilhar como se faz para descobrir o valor total bruto de u...
-
As vezes necessitamos criar estatísticas pelo dia da semana, como por exemplo, a quantidade de vendas por dia da semana, ou o valor das vend...
-
Normalmente utilizamos ferramentas visuais (Ex. PGAdmin) para executar nossos scripts SQL no PostgreSQL, porem as vezes se faz necessário ex...