Résumé des commandes

Snowflake prend en charge la plupart des commandes et des instructions définies dans SQL:1999.

Dans ce chapitre :

Commandes DDL (Langage de définition des données)

DDL basé sur les comptes et les sessions

Commandes

Remarques

ALTER ACCOUNT

Utilisé pour définir les paramètres au niveau du compte (uniquement par les utilisateurs avec le rôle ACCOUNTADMIN).

ALTER SESSION

Utilisé pour définir des paramètres dans la session en cours.

SHOW FUNCTIONS

Affiche les fonctions définies par le système et les fonctions définies par l’utilisateur, y compris les fonctions externes.

SHOW PARAMETERS

Permet d’afficher les paramètres de configuration du compte ou de la session en cours. Peut également être utilisé pour afficher les paramètres des objets ayant des paramètres.

SHOW VARIABLES

Utilisé pour définir des variables SQL dans la session en cours.

SET , UNSET

Utilisé pour définir et annuler des variables SQL dans la session en cours.

USE { DATABASE | ROLE | SCHEMA | WAREHOUSE }

La commande USE définit la base de données, le rôle, le schéma ou l’entrepôt virtuel pour la session en cours.

DDL de l’objet de l’organisation

Commandes

Remarques

{ CREATE | DROP | UNDROP } ACCOUNT

Exécuté par les utilisateurs ayant le rôle ORGADMIN. ALTER ACCOUNT est utilisé pour définir des paramètres au niveau du compte et est exécuté par un utilisateur ayant le rôle ACCOUNTADMIN.

DDL d’objet de compte

Commandes

Remarques

{ ALTER | CREATE | DESC | DROP } APPLICATION

{ ALTER | CREATE | DROP } APPLICATION PACKAGE

{ ALTER | CREATE | DROP } CONNECTION

{ ALTER | CREATE | DESC | DROP | UNDROP | USE } DATABASE

CREATE prend également en charge le clonage des bases de données existantes.

{ ALTER | CREATE | DESC | DROP } EXTERNAL VOLUME

{ ALTER | CREATE } { API | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE } INTEGRATION

{ CREATE } CATALOG INTEGRATION

ALTER n’est pas pris en charge pour les intégrations de catalogue.

{ DESC | DROP } [ API | CATALOG | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE ] INTEGRATION

{ ALTER | CREATE | DESC | DROP } NETWORK POLICY

{ ALTER | CREATE | DESC | DROP } RESOURCE MONITOR

{ ALTER | CREATE | DESC | DROP | USE } ROLE

{ ALTER | CREATE | DESC | DROP } SHARE

{ ALTER | CREATE | DESC | DROP } USER

{ ALTER | CREATE | DESC | DROP | USE } WAREHOUSE

COMMENT

Cette commande peut être utilisée avec n’importe quel objet de compte ; aussi, les commentaires peuvent être définis en utilisant CREATE ou ALTER.

{ GRANT | REVOKE } PRIVILEGE

Les privilèges ne sont pas strictement un objet de première classe ; cependant, ces commandes sont utilisées pour activer et gérer le contrôle d’accès pour tous les objets de première classe dans Snowflake.

SHOW { APPLICATION PACKAGES | APPLICATIONS | DATABASES | EXTERNAL VOLUMES | [ API | CATALOG | EXTERNAL ACCESS | NOTIFICATION | SECURITY | STORAGE ] INTEGRATIONS | NETWORK POLICIES | PRIVILEGES | RESOURCE MONITORS | ROLES | SHARES | USERS | WAREHOUSES }

DDL d’objet de base de données/schéma

Commandes

Remarques

{ ALTER | CREATE | DESC | DROP } ALERT

Utilisé pour créer des alertes Snowflake.

{ ALTER | CREATE | DESC | DROP } EVENT TABLE

Utilisé pour créer et gérer des tables d’événements.

CREATE EXTERNAL FUNCTION

Utilisé pour la création de fonctions externes.

{ ALTER | CREATE | DESC | DROP } FILE FORMAT

CREATE prend également en charge le clonage des formats de fichiers existants.

{ ALTER | CREATE | DESC | DROP } FUNCTION

Utilisé pour la création d’UDFs (fonctions définies par l’utilisateur) et la gestion d’UDFs et de fonctions externes.

{ ALTER | CREATE | DESC | DROP } ICEBERG TABLE

Utilisé pour créer et gérer des tables Iceberg.

{ ALTER | CREATE | DESC | DROP } MASKING POLICY

Utilisé pour créer et gérer des politiques de masquage.

{ ALTER | CREATE | DESC | DROP | UNDROP } MATERIALIZED VIEW

Utilisé pour créer et gérer des vues matérialisées.

{ ALTER | CREATE | DESC | DROP } NETWORK RULE

{ ALTER | CREATE | DESC | DROP } PACKAGES POLICY

Utilisé pour créer et gérer des politiques de paquets.

{ ALTER | CREATE | DESC | DROP } PASSWORD POLICY

Utilisé pour créer et gérer des politiques de mot de passe.

{ ALTER | CREATE | DESC | DROP } PIPE

{ ALTER | CREATE | DESC | DROP } PROCEDURE

Utilisé pour créer et gérer des procédures stockées.

{ ALTER | CREATE | DESC | DROP } ROW ACCESS POLICY

Utilisé pour créer et gérer des politiques d’accès aux lignes.

{ ALTER | CREATE | DESC | DROP } SECRET

Utilisé pour créer et gérer des secrets.

{ ALTER | CREATE | DESC | DROP } SEQUENCE

CREATE prend également en charge le clonage de séquences existantes.

{ ALTER | CREATE | DESC | DROP } SESSION POLICY

Utilisé pour créer et gérer des politiques de session.

{ ALTER | CREATE | DESC | DROP } STAGE

CREATE prend également en charge le clonage des zones de préparation nommées existantes (externes uniquement).

{ ALTER | CREATE | DESC | DROP } STREAM

CREATE prend également en charge le clonage des flux nommés existants.

{ ALTER | CREATE | DESC | DROP | UNDROP | USE } SCHEMA

CREATE prend également en charge le clonage des schémas existants.

{ ALTER | CREATE | DESC | DROP | TRUNCATE | UNDROP } TABLE

CREATE prend également en charge le clonage de tables existantes, la création de tables remplies (à l’aide de CTAS) et la création de tables vides (à partir de tables existantes).

{ ALTER | CREATE | DROP | UNDROP } TAG

DESCRIBE n’est pas pris en charge pour l’objet balise.

{ ALTER | CREATE | DESC | DROP } TASK

{ ALTER | CREATE | DESC | DROP | UNDROP } VIEW

COMMENT

Cette commande peut être utilisée avec n’importe quel objet de base de données/schéma ; aussi, les commentaires peuvent être définis en utilisant CREATE ou ALTER.

SHOW { ALERTS | EVENT TABLES | EXTERNAL FUNCTIONS | FILE FORMATS | ICEBERG TABLES | MASKING POLICIES | MATERIALIZED VIEWS | NETWORK RULES | PACKAGES POLICIES | PASSWORD POLICIES | PIPES | PROCEDURES | ROW ACCESS POLICIES | SCHEMAS | SECRETS | SEQUENCES | SESSION POLICIES | STAGES | STREAMS | TABLES | TAGS | TASKS | USER FUNCTIONS | VIEWS }

Commandes DML (Langage de manipulation de données)

Commandes

Remarques

DELETE , INSERT , MERGE , REPLACE , UPDATE

Utilisé pour des commandes DML générales. INSERT comprend la prise en charge d’insertions multi-tables.

COPY INTO { <table> | <emplacement> }

Utilisé pour le chargement/déchargement des données (import/export en bloc).

GET , LIST , PUT , REMOVE

Ces commandes n’exécutent pas DML ; elles sont utilisées pour stocker et gérer des fichiers pour le chargement et le déchargement de données.

Syntaxe de requête et opérateurs

Catégorie

Constructions/Opérateurs

Remarques

Syntaxe de requête

[ WITH ]

SELECT [ DISTINCT ]

Requis.

[ INTO ]

Pour définir les variables Exécution de scripts Snowflake comme valeurs dans les colonnes de résultats.

[ FROM ]

[ AT | BEFORE ]

Pour les requêtes utilisant Time Travel.

[ CHANGES ]

Pour interroger les métadonnées de suivi des modifications pour une table.

[ CONNECT BY ]

Pour joindre une table à elle-même pour traiter les données hiérarchiques de la table.

[ JOIN ]

Prise en charge pour les jointures intérieures, extérieures gauche, extérieures droite et pleines.

[ MATCH_RECOGNIZE ]

Pour trouver des séquences de lignes qui correspondent à un modèle.

[ PIVOT | UNPIVOT ]
[ VALUES ]
[ SAMPLE ] / [ TABLESAMPLE ]

TABLESAMPLE est un synonyme de SAMPLE.

[ WHERE ]

[ GROUP BY ]

Les colonnes utilisées dans GROUP BY doivent être dans la liste SELECT.

[ HAVING ]

[ ORDER BY ]

[ LIMIT ]

Opérateurs arithmétiques

+ , - , * , \ , %

Opérateurs de comparaison

= , != , < > , > , >= , < , <=

Opérateurs logiques/booléens

AND , NOT , OR

Opérateurs Set

INTERSECT [ ALL ] , MINUS [ ALL ] / EXCEPT , UNION [ ALL ]

Opérateurs de sous-requête

ANY / ALL , [ NOT ] EXISTS , [ NOT ] IN

Prédicats

BETWEEN , [ NOT ] EXISTS , [ NOT ] IN , LIKE

Commandes TCL (Langage de contrôle des transactions)

Commandes

Remarques

BEGIN , COMMIT , ROLLBACK

Utilisé pour les transactions multi-instructions dans la session en cours.

DESC TRANSACTIONS

SHOW { LOCKS | TRANSACTIONS }