Quando se trata de desenvolver o protótipo de uma solução, geralmente as tecnologias ainda não foram decididas e podem não ser as mesmas que serão usadas no produto final.
Nesses cenários, costumo usar o Microsoft SQL Server gravando as consultas o mais padrão possível para simplificar a eventual migração para outro servidor.
Existe alguma maneira ou prática conhecida de aplicar o uso do dialeto SQL padrão sobre T-SQL diretamente no SQL Server ou via SSMS ( SQL Server Management Studio )?
sql-server
sql-server-2016
migration
sql-standard
s.demuro
fonte
fonte
<>
) e não padrão (!=
), onde não há comprometimento no desempenho ou na manutenção, eu sempre escolho o padrão. Mas, quando se trata de outros custos, ou quando não há um padrão equivalente, eu uso e sou proprietário. As coisas que você desiste apenas pela capacidade de trocar completamente de plataforma por atacado simplesmente não valem a pena.Respostas:
O usuário Aaron Bertrand fez alguns comentários que se alinham bem com meus pensamentos sobre sua pergunta. Isso é mais um desafio de estrutura do que uma resposta para sua pergunta específica, mas acho que é valioso considerar esse contexto.
Se você precisar alterar as plataformas em algum momento, serão necessárias alterações no aplicativo, no banco de dados e provavelmente em muitas outras coisas. Se você pode ser um pouco "independente de plataforma" sem muito esforço, tudo bem. Mas é realmente uma péssima decisão comercial usá-la como uma meta de design.
Existem muitos lugares on-line onde as pessoas discutem as desvantagens ou a programação dessa maneira. Aqui está um deles que eu acho bastante atraente:
As camadas de abstração do banco de dados devem morrer!
fonte
Não imponha o STD SQL.
Decida primeiro qual DBMS você usará de acordo com as necessidades do seu projeto e aproveite-o.
fonte
Na verdade não.
Existe
SET FIPS_FLAGGER 'FULL'
.Isso imprime um aviso para SQL não padrão - mas algumas advertências são
+
operador para concatenação de strings ou funções proprietárias, comoGETDATE()
não parece muito abrangente.fonte
"muitas vezes as tecnologias ainda não foram decididas"
Eu diria que esse não é absolutamente o caso em minha experiência. Na verdade, não acredito que já tenha ouvido falar disso, exceto talvez por algo muito pequeno.
Geralmente isso é estabelecido, e a nova solução deverá utilizar o que já está em uso.
Eu concordo com os comentadores acima, mesmo que não esteja estabelecido, você precisa estabelecer isso antes de começar a escrever consultas e outros códigos. Caso contrário, você estará se dedicando potencialmente a uma reescrita logo de cara.
fonte