Notei que o Visual Studio 2008 está colocando colchetes ao redor dos nomes das colunas no sql. Os suportes oferecem alguma vantagem? Quando entrego o código T-SQL, nunca me incomodei com eles.
Exemplo:
Estúdio visual:
SELECT [column1], [column2] etc...
Meu próprio caminho:
SELECT column1, column2 etc...
sql-server
syntax
Paulj
fonte
fonte
"
), que a Microsoft também oferece suporte. Se a Microsoft sentisse a necessidade de delimitar tudo, seria melhor usar as aspas duplas padrão. Mas eu acho que teria feito isso muito fácil para a porta para outro DBMS, e isso nunca vai fazer ...Respostas:
Os colchetes são necessários se você usar palavras-chave ou caracteres especiais nos nomes ou identificadores da coluna. Você pode nomear uma coluna
[First Name]
(com um espaço) - mas precisará usar colchetes toda vez que consultar essa coluna.As ferramentas mais recentes os adicionam a qualquer lugar, apenas por precaução ou por consistência.
fonte
select
masselect select from mytable
gera um erroselect [select] from mytable
, tornando-o uma consulta válida. Qualquer que seja a palavra colorida no seu estúdio de gerenciamento SQL, deve estar entre colchetes se você quiser usá-las como nomes de colunas / tabelas / sp / etc. No MySQL, aspas simples angulares `` `` seriam o equivalente a isso.Eles são úteis se suas colunas tiverem o mesmo nome que as palavras-chave SQL ou tiverem espaços.
Exemplo:
Ah não! Sintaxe incorreta perto da palavra-chave 'usuário'. Mas isso:
Funciona bem.
fonte
Eles são úteis se você estiver (por algum motivo) usando nomes de colunas com determinados caracteres, por exemplo.
não funcionaria, mas colocar colchetes ao redor do nome da coluna funcionaria
Em suma, é uma maneira de declarar explicitamente o nome de um objeto; coluna, tabela, banco de dados, usuário ou servidor.
fonte
Os nomes das colunas podem conter caracteres e palavras reservadas que confundirão o mecanismo de execução da consulta. Portanto, colocar colchetes ao redor deles o tempo todo impede que isso aconteça. Mais fácil do que procurar um problema e depois lidar com ele, eu acho.
fonte
Os colchetes podem ser usados quando os nomes das colunas são palavras reservadas.
Se você estiver programaticamente gerando a instrução SQL a partir de uma coleção de nomes de colunas que não controla, poderá evitar problemas sempre usando os colchetes.
fonte
Independentemente de seguir uma convenção de nomenclatura que evita o uso de palavras reservadas, a Microsoft adiciona novas palavras reservadas. O uso de colchetes permite que seu código seja atualizado para uma nova versão do SQL Server, sem a necessidade de editar primeiro as palavras recém-reservadas da Microsoft a partir do código do cliente. Essa edição pode ser uma preocupação significativa. Isso pode fazer com que seu projeto seja desativado prematuramente ....
Os colchetes também podem ser úteis quando você deseja substituir Tudo em um script. Se o lote contiver uma variável chamada @String e uma coluna chamada [String], você poderá renomear a coluna para [NewString], sem renomear @String para @NewString.
fonte
Durante a idade das trevas do SQL na década de 1990, era uma boa prática, pois os designers do SQL tentavam adicionar cada palavra no dicionário como palavra-chave para uma avalanche interminável de novos recursos, e eles o chamavam de rascunho do SQL3.
Por isso, mantém a compatibilidade avançada.
E descobri que ele tem outro bom efeito colateral, ajuda muito quando você usa grep em revisões de código e refatoração.
fonte
Além disso, alguns bancos de dados do Sharepoint contêm hífens em seus nomes. O uso de colchetes nas instruções SQL permite que os nomes sejam analisados corretamente.
fonte
Acredito que os adicione lá para manter a consistência ... eles são necessários apenas quando você tem um espaço ou caractere especial no nome da coluna, mas é mais fácil incluí-los o tempo todo quando o IDE gera SQL.
fonte