T-SQL (Transact-SQL) gültig in SQLite und anderen SQL-Datenbanken?

8

Es scheint keine klaren Informationen über T-SQL und die Möglichkeit, sie in SQLite und anderen Nicht-Microsoft-SQL-Implementierungen zu verwenden, zu geben. Die meisten Artikel, auf die ich stoße, sagen, dass sie Microsoft-proprietär sind, also können wir T-SQL-Anweisungen wie CASE usw. in einer SQLite-Datenbank verwenden?

    
dlitwak 09.07.2011, 02:12
quelle

2 Antworten

13

T-SQL ist die Microsoft-Implementierung (Dialekt) des SQL-Standards. Wie bei den meisten Implementierungen gibt es Teile , die proprietär und nicht standardisiert sind, und Macken, die zwar zulässig, aber für andere Plattformen nicht idiomatisch sind. MySQL, sqlite und andere sind auf die gleiche Weise, und manchmal macht eine Eigenart mit einer anderen Plattform "korrekte" T-SQL für diese Plattform gebrochen.

Mit anderen Worten, wenn Sie T-SQL kennen, wissen Sie etwa 85% von dem, was Sie Abfragen für SQLite, MySQL, Oracle, DB2, Informix, Access usw. schreiben müssen. Allerdings wird es ein paar Unebenheiten geben; erwarte definitiv nicht, dass Code, der für eine Plattform geschrieben wurde, auf einer anderen Plattform funktioniert.

CASE ist einer der Fälle, in denen sich die verschiedenen Varianten von sql unterscheiden, wobei einige andere Implementierungen stattdessen eine Syntax auf Basis von IF wählen. Keywords wie SELECT , FROM , WHERE hingegen sind tendenziell konsistenter.

    
Joel Coehoorn 09.07.2011, 02:18
quelle
7

ANSI SQL ist die standardisierte strukturierte Abfragesprache.

Die meisten Datenbankanbieter unterstützen SQL. T-SQL ist Microsofts Version von ANSI SQL.

    
Mitch Wheat 09.07.2011 02:18
quelle

Tags und Links