T-SQL (Transact-SQL) действителен в SQLite и других базах данных SQL? - PullRequest
9 голосов
/ 09 июля 2011

Кажется, что нет какой-либо четкой информации о T-SQL и возможности его использования в SQLite и других реализациях SQL не от Microsoft.В большинстве статей, с которыми я сталкиваюсь, написано, что это собственность Microsoft, поэтому можем ли мы использовать в базе данных SQLite операторы T-SQL, такие как CASE и т. Д.

Ответы [ 2 ]

14 голосов
/ 09 июля 2011

T-SQL - это реализация (диалект) Microsoft стандарта ANSI SQL. Как и большинство реализаций, есть части , которые являются собственностью и не являются стандартными, причуды, которые допустимы, но не идиоматичны для других платформ, и элементы, определенные в стандарте, которые не реализованы. MySQL, sqlite и другие аналогичны, и поэтому иногда причуда с другой платформой приводит к нарушению «правильного» и совместимого со стандартами T-SQL для этой платформы.

Другими словами, если вы знаете T-SQL, вы знаете примерно 85% того, что вам нужно для написания запросов для SQLite, MySQL, oracle, db2, Informix, Access и т. Д. Однако будет несколько затруднений; определенно не ожидайте, что код, написанный для одной платформы, будет работать на другой.

CASE - это один из тех случаев, когда различные разновидности sql имеют тенденцию различаться, при этом ряд других реализаций выбирают синтаксис, основанный на IF. С другой стороны, ключевые ключевые слова SELECT, FROM, WHERE имеют тенденцию быть более последовательными.

8 голосов
/ 09 июля 2011

ANSI SQL - это стандартный язык структурированных запросов.

Большинство поставщиков баз данных поддерживают SQL. T-SQL - это версия Microsoft ANSI SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...