Когда речь идет о разработке прототипа решения, часто технологии еще не определены, и они могут не совпадать с теми, которые будут использоваться в готовом продукте.
В этих сценариях я склонен использовать Microsoft SQL Server для написания запросов как можно более стандартным, чтобы упростить возможную миграцию на другой сервер.
Есть ли способ или какой-либо известный способ принудительного использования стандартного SQL поверх диалекта T-SQL непосредственно в SQL Server или через SQL Server Management Studio (SSMS)?
<>
) и нестандартным (!=
), где нет никаких компромиссов по производительности или удобству обслуживания, я всегда выбираю стандартный. Но когда это происходит с другими затратами, или нет никакого стандартного эквивалента, я выхожу и проприетарный. То, что вы отказываетесь только ради возможности впоследствии полностью переключать платформы, просто не стоит того.Ответы:
Пользователь Aaron Bertrand сделал несколько комментариев, которые хорошо согласуются с моими мыслями по вашему вопросу. Это более сложная задача, чем ответ на ваш конкретный вопрос, но я думаю, что это важно рассмотреть в этом контексте.
Если у вас есть платформам изменения в какой - то момент, там будут изменения , необходимые для приложения, базы данных, и , возможно , многое другое. Если вы можете быть немного «независимыми от платформы» без особых усилий, это нормально. Но это действительно плохое деловое решение использовать это как цель проекта.
Есть много мест в Интернете, где люди обсуждают недостатки или программируют таким образом, вот одно из них, которое я считаю довольно убедительным:
Слои абстракции базы данных должны умереть!
источник
Не применять STD SQL.
Сначала решите, какую СУБД вы будете использовать в соответствии с потребностями вашего проекта, и воспользуйтесь этим.
источник
На самом деле, нет.
Есть
SET FIPS_FLAGGER 'FULL'
.Это выводит предупреждение для нестандартного SQL - но некоторые предупреждения
+
оператора для конкатенации строк или проприетарных функций, таких как,GETDATE()
так что это не кажется слишком полным.источник
«часто технологии еще не определены»
Я бы сказал, что это абсолютно НЕ случай в моем опыте. На самом деле я не верю, что когда-либо слышал об этом, разве что что-то очень маленькое.
Обычно это устанавливается, и ожидается, что новое решение будет использовать то, что уже используется.
Я согласен с указанными выше комментариями в том, что, даже если он не установлен, вам необходимо сначала установить его, прежде чем начинать писать запросы и другой код. В противном случае вы просто потенциально позволяете себе потратить впустую много времени на переписывание с нуля.
источник