Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Différences T-SQL dans Babelfish
Vous trouverez ci-dessous un tableau des fonctionnalités T-SQL prises en charge par la version actuelle de Babelfish, ainsi que quelques notes sur les différences de comportement par rapport à SQL Server.
Pour plus d'informations sur le support dans les différentes versions, consultez Fonctionnalités prises en charge dans Babelfish par version. Pour plus d'informations sur les fonctionnalités qui ne sont actuellement pas prises en charge, consultez Fonctionnalités non prises en charge dans Babelfish.
Babelfish est disponible avec Aurora PostgreSQL-Compatible Edition. Pour obtenir plus d'informations sur les mises à jour de Babelfish, consultez les Release Notes for Aurora PostgreSQL (Notes de mise à jour de Aurora PostgreSQL).
Fonctionnalité ou syntaxe | Description du comportement ou de la différence |
---|---|
\ (caractère de continuation de ligne) | Le caractère de continuation de ligne (une barre oblique inverse avant une nouvelle ligne) pour les chaînes de caractères et les chaînes hexadécimales n'est pour le moment pas pris en charge. Pour les chaînes de caractères, le signe backslash-newline est interprété comme des caractères dans la chaîne. Pour les chaînes hexadécimales, le signe backslash-newline entraîne une erreur de syntaxe. |
@@version |
Le format de la valeur renvoyée par |
Fonctions d’agrégation |
Les fonctions d'agrégation sont partiellement prises en charge (les fonctions AVG, COUNT, COUNT_BIG, GROUPING, MAX, MIN, STRING_AGG et SUM sont prises en charge). Pour obtenir une liste des fonctions d'agrégation non prises en charge, consultez Fonctions non prises en charge |
ALTER TABLE |
Prend en charge l'ajout ou la suppression d'une seule colonne ou d'une seule contrainte. |
ALTER TABLE..ALTER COLUMN |
Les valeurs NULL et NOT NULL ne peuvent pas être spécifiées actuellement. Pour modifier la valeur NULL d'une colonne, utilisez l'instruction postgreSQL ALTER TABLE..{SET|DROP} NOT NULL. |
AT TIME ZONE |
Pendant le passage de l'heure d'été (DST) à l'heure standard, la période de chevauchement est affichée en utilisant le décalage horaire standard. Pour clarifier les choses, considérez l'exemple suivant :
|
Noms de colonnes vides sans alias de colonne |
Les utilitaires
|
Fonction CHECKSUM |
Babelfish et SQL Server utilisent des algorithmes de hachage différents pour la fonction CHECKSUM. Par conséquent, les valeurs de hachage générées par la fonction CHECKSUM dans Babelfish peuvent être différentes de celles générées par la fonction CHECKSUM dans SQL Server. |
Colonne par défaut |
Lors de la création d'une colonne par défaut, le nom de la contrainte est ignoré. Pour supprimer une colonne par défaut, utilisez la syntaxe suivante : |
Nom_contrainte |
Dans SQL Server, les noms de contrainte doivent être uniques dans le schéma auquel appartient la table. Cependant, dans Babelfish, cela ne s'applique qu'aux contraintes PRIMARY KEY et UNIQUE. Les autres types de contraintes ne sont pas soumis à cette restriction. |
Constraints |
PostgreSQL ne prend pas en charge l'activation et la désactivation des contraintes individuelles. L'instruction est ignorée et un avertissement est émis. |
Contraintes avec IGNORE_DUP_KEY |
Les contraintes sont créées sans cette propriété. |
CREATE, ALTER, DROP SERVER ROLE |
ALTER SERVER ROLE est uniquement pris en charge pour L'utilisateur T-SQL de Babelfish a une expérience similaire à celle de SQL Server pour les concepts d'identifiant (principal du serveur), de base de données et d'utilisateur de base de données (principal de la base de données). |
Les clauses CREATE, ALTER LOGIN sont prises en charge avec une syntaxe limitée. |
La clause CREATE LOGIN... PASSWORD, la clause ...DEFAULT_DATABASE et la clause ...DEFAULT_LANGUAGE sont prises en charge. La clause ALTER LOGIN... PASSWORD est prise en charge, mais pas la clause ALTER LOGIN... OLD_PASSWORD. Seul un identifiant correspondant à un membre sysadmin peut modifier un mot de passe. |
CREATE DATABASE – Classement sensible à la casse |
Les classements sensibles à la casse ne sont pas pris en charge par l'instruction CREATE DATABASE. |
Mots-clés et clauses CREATE DATABASE |
Les options autres que COLLATE et CONTAINMENT=NONE ne sont pas prises en charge. La clause COLLATE est acceptée et est toujours définie sur la valeur |
Clauses CREATE SCHEMA... |
Vous pouvez utiliser la commande CREATE SCHEMA pour créer un schéma vide. Utilisez des commandes supplémentaires pour créer des objets de schéma. |
Les valeurs d'ID de base de données sont différentes sur Babelfish |
Les bases de données master et tempdb ne seront pas les bases de données IDs 1 et 2. |
La fonction de type de date FORMAT est prise en charge avec les limitations suivantes |
Le méridien à caractère unique n'est pas pris en charge. Le format « yyy » dans SQL Server renvoie 4 chiffres pour les années supérieures à 1 000, mais seulement 3 chiffres pour les autres. Les formats « g » et « R » ne sont pas pris en charge La traduction locale « vi-VN » est légèrement différente. |
Identifiants dépassant 63 caractères |
PostgreSQL prend en charge un maximum de 63 caractères pour les identifiants. Babelfish convertit les identifiants de plus de 63 caractères en un nom qui inclut un hachage du nom d'origine. Par exemple, une table créée sous le nom « AB (ABC1234567890123456789012345678901234567890123456789012345678901234567890) » peut être convertie en « 012345678901234567890123456789012345678901234567890 ». ABC123456789 |
Prise en charge des colonnes IDENTITY |
Les colonnes IDENTITY sont prises en charge pour les types de données tinyint , smallint , int , bigint . numeric et decimal . SQL Server prend en charge une précision allant jusqu'à 38 positions pour les types de données PostgreSQL prend en charge une précision allant jusqu'à 19 positions pour les types de données |
Index avec IGNORE_DUP_KEY |
La syntaxe qui crée un index incluant IGNORE_DUP_KEY crée un index comme si cette propriété était omise. |
Index comportant plus de 32 colonnes |
Un index ne peut pas comporter plus de 32 colonnes. Les colonnes d'index incluses comptent pour le maximum dans PostgreSQL, mais pas dans SQL Server. |
Index (en cluster) |
Les index en cluster sont créés comme si NONCLUSTERED était spécifié. |
Clauses d'index |
Les clauses suivantes sont ignorées : FILLFACTOR, ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, PAD_INDEX, STATISTICS_NORECOMPUTE, OPTIMIZE_FOR_SEQUENTIAL_KEY, SORT_IN_TEMPDB, DROP_EXISTING, ONLINE, COMPRESSION_DELAY, MAXDOP et DATA_COMPRESSION |
Prise en charge JSON |
L'ordre des paires nom-valeur n'est pas garanti. Mais le type de table n'est pas affecté. |
Objets LOGIN |
Toutes les options des objets LOGIN ne sont pas prises en charge, à l'exception de PASSWORD, DEFAULT_DATABASE, DEFAULT_LANGUAGE, ENABLE, DISABLE. |
Fonction NEWSSEQUENTIALID |
Implémenté en tant que NEWID ; le comportement séquentiel n'est pas garanti. Lors de l'appel de |
La clause OUTPUT est prise en charge avec les limitations suivantes |
OUTPUT et OUTPUT INTO ne sont pas pris en charge dans la même requête DML. Les références à des tables non ciblées par des opérations UPDATE ou DELETE dans une clause OUTPUT ne sont pas prises en charge. OUTPUT... DELETED *, INSERTED * ne sont pas pris en charge dans la même requête. |
Limite de paramètres de procédure ou de fonction |
Babelfish prend en charge un maximum de 100 paramètres pour une procédure ou une fonction. |
ROWGUIDCOL |
Cette clause est actuellement ignorée. Les requêtes faisant référence à |
Prise en charge des objets SEQUENCE |
Les objets SEQUENCE sont pris en charge pour les types de données tinyint, smallint, int, bigint, numeric et decimal. Aurora PostgreSQL prend en charge une précision allant jusqu'à 19 positions pour les types de données numeric et decimal contenus dans un objet SEQUENCE. |
Rôles au niveau du serveur |
Le rôle |
Rôles de niveau base de données autres que |
Les rôles au niveau de la base de données |
Mot-clé SQL SPARSE |
Le mot-clé SPARSE est accepté et ignoré. |
Clause de mot-clé SQL |
Cette clause est actuellement ignorée. |
Mots-clés SQL |
Babelfish accepte et ignore les mots-clés |
|
|
La base de données tempdb n'est pas réinitialisée au redémarrage |
Les objets permanents (comme les tables et les procédures) créés dans tempdb ne sont pas supprimés au redémarrage de la base de données. |
Groupe de fichiers TEXTIMAGE_ON |
Babelfish ignore la clause |
Précision temporelle |
Babelfish prend en charge une précision à 6 chiffres pour les fractions de seconde. Aucun effet indésirable n'est anticipé avec ce comportement. |
Niveaux d'isolement des transactions |
READUNCOMMITTED est traité de la même manière que READCOMMITTED. |
Colonnes virtuelles calculées (non persistantes) |
Les colonnes virtuelles calculées sont créées en tant que colonnes persistantes. |
Sans la clause SCHEMABINDING |
Cette clause n'est pas prise en charge dans les fonctions, procédures, déclencheurs ou vues. L'objet est créé, mais comme si WITH SCHEMABINDING avait été spécifié. |