SQLT-Unterschiede in Babelfish - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

SQLT-Unterschiede in Babelfish

Im Folgenden finden Sie eine Tabelle der SQL T-Funktionen, wie sie in der aktuellen Version von Babelfish unterstützt werden, mit einigen Hinweisen zu Unterschieden im Verhalten gegenüber dem von Server. SQL

Weitere Informationen über den Support für verschiedene Versionen finden Sie unter Unterstützte Funktionen in Babelfish nach Version. Weitere Informationen zu Funktionen, die derzeit nicht unterstützt werden, finden Sie unter Nicht unterstützte Funktionen in Babelfish.

Babelfish ist mit der Aurora Postgre-Compatible Edition erhältlich. SQL Weitere Informationen zu Babelfish-Versionen finden Sie in den Versionshinweisen für Aurora Postgre. SQL

Funktionalität oder Syntax Beschreibung des Verhaltens oder Unterschieds
\ (Zeilenfortsetzungszeichen) Das Zeilenfortsetzungszeichen (ein umgekehrter Schrägstrich vor einem Zeilenumbruch) für Zeichen- und Hexadezimalzeichenfolgen wird derzeit nicht unterstützt. Für Zeichenfolgen wird der Backslash für neue Zeile als Zeichen in der Zeichenfolge interpretiert. Bei Hexadezimalzeichenfolgen führt der Backslash für neue Zeile zu einem Syntaxfehler.

@@Version

Das Format des von zurückgegebenen Werts unterscheidet @@version sich geringfügig von dem vom Server zurückgegebenen Wert. SQL Ihr Code funktioniert möglicherweise nicht richtig, wenn er von der Formatierung von @@version abhängt.

Aggregationsfunktionen

Aggregatfunktionen werden teilweise unterstützt (AVGCOUNT,BIG, COUNT _ GROUPINGMAX,MIN,AGG, STRING _ und SUM werden unterstützt). Eine Liste der nicht unterstützten Aggregatfunktionen finden Sie unter Nicht unterstützte Funktionen.

ALTER TABLE

Unterstützt nur das Hinzufügen oder Löschen einer einzelnen Spalte oder Einschränkung.

ALTER TABLE..ALTER COLUMN

NULLund NOT NULL kann derzeit nicht angegeben werden. Verwenden Sie die SQL postgre-Anweisung, um die NULL-Zulässigkeit einer Spalte zu ändern. ALTER TABLE {|}SET. DROP NOT NULL

Leere Spaltennamen ohne Spaltenalias

Die sqlcmd- und psql-Dienstprogramme behandeln Spalten mit leeren Namen unterschiedlich:

  • SQLDer Server sqlcmd gibt einen leeren Spaltennamen zurück.

  • Postgre SQL psql gibt einen generierten Spaltennamen zurück.

CHECKSUMFunktion

Babelfish und SQL Server verwenden unterschiedliche Hash-Algorithmen für die Funktion. CHECKSUM Infolgedessen können sich die von der CHECKSUM Funktion in Babelfish generierten Hashwerte von denen unterscheiden, die von der Funktion in Server generiert werden. CHECKSUM SQL

Standardeinstellung der Spalte

Beim Erstellen einer Spalte wird der Name der Einschränkung ignoriert. Verwenden Sie die folgende Syntax, um eine Spalte zu löschen: ALTER TABLE...ALTER COLUMN..DROP DEFAULT...

Constraint_name

In SQL Server müssen Einschränkungsnamen innerhalb des Schemas, zu dem die Tabelle gehört, eindeutig sein. In Babelfish gilt dies jedoch nur für Einschränkungen PRIMARY KEY undUNIQUE. Andere Arten von Einschränkungen unterliegen dieser Einschränkung nicht.

Beschränkungen

Postgre unterstützt das Ein- und Ausschalten einzelner Einschränkungen SQL nicht. Die Aussage wird ignoriert und eine Warnung ausgegeben.

Einschränkungen mit IGNORE _ _ DUP KEY

Einschränkungen werden ohne diese Eigenschaft erstellt.

CREATE, ALTER, DROP SERVER ROLE

ALTERSERVERROLEwird nur für unterstütztsysadmin. Alle anderen Syntax wird nicht unterstützt.

Der SQL T-Benutzer in Babelfish hat ein ähnliches Benutzererlebnis wie Server, was die Konzepte eines Logins (SQLServer-Prinzipal), einer Datenbank und eines Datenbankbenutzers (Datenbank-Prinzipal) angeht.

CREATE, ALTER LOGIN Klauseln werden mit eingeschränkter Syntax unterstützt

Das CREATELOGIN... PASSWORDKlausel,... DEFAULT_ DATABASE Klausel und... DEFAULTLANGUAGE_-Klausel werden unterstützt. Die ALTERLOGIN... PASSWORDKlausel wird unterstützt, aber ALTERLOGIN... OLDDie PASSWORD Klausel _ wird nicht unterstützt. Nur ein Login, der ein sysadmin-Mitglied ist, kann ein Passwort ändern.

CREATEDATABASESortierung unter Berücksichtigung von Groß-/Kleinschreibung

Sortierungen, bei denen Groß- und Kleinschreibung beachtet wird, werden in der Anweisung nicht unterstützt. CREATE DATABASE

CREATEDATABASESchlüsselwörter und Klauseln

Optionen außer COLLATE und CONTAINMENT = NONE werden nicht unterstützt. Die COLLATE Klausel wird akzeptiert und hat immer den Wert vonbabelfishpg_tsql.server_collation_name.

CREATESCHEMA... unterstützende Klauseln

Sie können den CREATE SCHEMA Befehl verwenden, um ein leeres Schema zu erstellen. Verwenden Sie zusätzliche Befehle, um Schemaobjekte zu erstellen.

Die Werte der Datenbank-ID sind bei Babelfish unterschiedlich

Die Datenbanken master und tempdb werden nicht die Datenbanken IDs 1 und 2 sein.

FORMATDie Funktion Datentyp wird mit den folgenden Einschränkungen unterstützt

Der einstellige Meridian wird nicht unterstützt.

Das Format „yyy“ auf SQL dem Server gibt 4 Ziffern für ein Jahr über 1000 zurück, für andere jedoch nur 3 Ziffern.

Die Formate „g“ und „R“ werden nicht unterstützt

Die Übersetzung des Gebietsschemas „vi-VN“ unterscheidet sich geringfügig.

Bezeichner größer als 63 Zeichen

Postgre SQL unterstützt maximal 63 Zeichen für Bezeichner. Babelfish konvertiert Bezeichner, die länger als 63 Zeichen sind, in einen Namen, der einen Hash des ursprünglichen Namens enthält. Beispielsweise kann eine als „AB (ABC12345678901234567890123456789012345678901234567890123456789012345678901234567890") erstellte Tabelle in" 012345678901234567890" konvertiert werden. ABC123456789

IDENTITYUnterstützung für Spalten

IDENTITY Spalten werden für Datentypen tinyint, smallint, int, bigint, numeric und decimal unterstützt.

SQLDer Server unterstützt eine Genauigkeit von bis zu 38 Stellen für Datentypen numeric und decimal IDENTITY Spalten.

Postgre SQL unterstützt eine Genauigkeit von bis zu 19 Stellen für Datentypen numeric und decimal IDENTITY Spalten.

Indizes mit _ _ IGNORE DUP KEY

Eine Syntax, die einen Index erstellt, der IGNORE _ DUP _ enthält, KEY erstellt einen Index, als ob diese Eigenschaft weggelassen würde.

Indizes mit mehr als 32 Spalten

Ein Index darf nicht mehr als 32 Spalten enthalten. Enthaltene Indexspalten zählen in Postgre zum MaximumSQL, aber nicht in SQL Server.

Indizes (gruppiert)

Gruppierte Indizes werden so erstellt, als ob sie NONCLUSTERED angegeben wurden.

Index-Klausel

Die folgenden Klauseln werden ignoriert:FILLFACTOR, ALLOW _ _LOCKS, PAGE _, ALLOW ROW _LOCKS, PAD _INDEX, STATISTICS _ _ OPTIMIZE _NORECOMPUTE, FOR SEQUENTIAL SORT _IN_KEY, _TEMPDB,, DROP _ EXISTINGONLINE, COMPRESSION und _ DELAY MAXDOP DATA COMPRESSION

JSONUnterstützung

Die Reihenfolge der Name-Wert-Paare ist nicht garantiert. Der Array-Typ bleibt jedoch unberührt.

LOGINObjekte

Alle Optionen für LOGIN Objekte werden nicht unterstütztPASSWORD, außer fürDATABASE, DEFAULT DEFAULT _LANGUAGE,ENABLE,DISABLE.

NEWSEQUENTIALIDFunktion

Implementiert alsNEWID; sequentielles Verhalten ist nicht garantiert. Beim Aufrufen NEWSEQUENTIALID SQL generiert Postgre einen neuen GUID Wert.

OUTPUTKlausel wird mit den folgenden Einschränkungen unterstützt

OUTPUTund OUTPUT INTO werden in derselben DML Abfrage nicht unterstützt. Verweise auf Tabellen UPDATE oder DELETE Operationen in einer OUTPUT Klausel, die nicht zu den Zielen gehören, werden nicht unterstützt. OUTPUT... DELETED*, INSERTED * werden in derselben Abfrage nicht unterstützt.

Begrenzung von Prozedur- oder

Babelfish unterstützt maximal 100 Parameter für eine Prozedur oder Funktion.

ROWGUIDCOL

Diese Klausel wird derzeit ignoriert. Referenzfragen $GUIDGOL verursachen einen Syntaxfehler.

SEQUENCEUnterstützung von Objekten

SEQUENCEObjekte werden für die Datentypen tinyint, smallint, int, bigint, numeric und decimal unterstützt.

Aurora Postgre SQL unterstützt eine Genauigkeit von bis zu 19 Stellen für die Datentypen numerisch und dezimal in a. SEQUENCE

Rollen auf Serverebene

Die Rolle sysadmin auf Serverebene wird unterstützt. Andere Rollen auf Serverebene (außer sysadmin) werden nicht unterstützt.

Andere Rollen auf Datenbankebene als db_owner

Die Rollen db_owner auf Datenbankebene und die benutzerdefinierten Rollen auf Datenbankebene werden unterstützt. Andere Rollen auf Datenbankebene (als db_owner) werden nicht unterstützt.

SQLSchlüsselwort SPARSE

Das Schlüsselwort SPARSE wird akzeptiert und ignoriert.

SQLSchlüsselwort-Klausel ON filegroup

Diese Klausel wird derzeit ignoriert.

SQLSchlüsselwörter CLUSTERED und NONCLUSTERED für Indizes und Einschränkungen

Babelfish akzeptiert und ignoriert CLUSTERED und NONCLUSTERED-Schlüsselwörter.

sysdatabases.cmptlevel

sysdatabases.cmptlevel ist immer auf 120 eingestellt.

tempdb wird beim Neustart nicht neu initialisiert

Permanente Objekte (wie Tabellen und Prozeduren), die in tempdb erstellt wurden, werden beim Neustart der Datenbank nicht entfernt.

TEXTIMAGE_ON-Dateigruppe

Babelfish ignoriert das TEXTIMAGE_ON Dateigruppe Klausel.

Zeitgenauigkeit

Babelfish unterstützt eine 6-stellige Genauigkeit für Sekundenbruchteile. Bei diesem Verhalten sind keine negativen Auswirkungen zu erwarten.

Transaktionsisolierungsstufen

READUNCOMMITTEDwird genauso behandelt wieREADCOMMITTED.

Virtuell berechnete Spalten (nicht persistent)

Virtuell berechnete Spalten werden als persistent erstellt.

Ohne SCHEMABINDING Klausel

Diese Klausel wird in Funktionen, Prozeduren, Triggern oder Ansichten nicht unterstützt. Das Objekt wird erstellt, aber so, als ob es angegeben WITH SCHEMABINDING worden wäre.