Utilisation de sfsql

Ce chapitre décrit comment utiliser sfsql, et inclut une liste des commandes Henplus natives qui ne sont pas prises en charge par le client.

Note

Certaines commandes Snowflake SQL sont implémentées via le pilote JDBC utilisé par sfsql, par exemple PUT/GET pour télécharger des fichiers vers et depuis des zones de préparation internes. Par conséquent, ces opérations peuvent être effectuées en sfsql, mais ne peuvent pas l’être dans l’interface Web de Snowflake.

Dans ce chapitre :

Définition de paramètres

HenPlus fournit des propriétés qui contrôlent le comportement de la session. Cependant, vous ne devez pas définir ces propriétés dans sfsql Utilisez plutôt les paramètres de session fournis par Snowflake.

En outre, HenPlus fournit les propriétés globales suivantes qui peuvent être définies pour toutes les sessions (les paramètres de propriété sont enregistrés lorsque vous fermez la session). Vous pouvez utiliser ces propriétés globales pour contrôler le formatage et l’apparence des résultats de vos résultats d’instruction SQL :

  • Pour voir la liste des paramètres globaux et leurs valeurs actuelles, saisissez set-property sur la ligne de commande :

    Propriété

    Valeur initiale

    Description

    délimiteur de colonne

    |

    Indique le(s) caractère(s) utilisé(s) pour séparer/formater les colonnes dans l’affichage.

    comments-remove

    off (ou false)

    Non utilisé actuellement.

    commandes écho

    off (ou false)

    Indique s’il faut afficher une instruction avant de l’exécuter.

    sql-result-limit

    1000000000

    Indique le nombre maximum de lignes renvoyées dans les résultats d’instruction.

    sql-result-showfooter

    on (ou true)

    Indique s’il faut inclure une ligne de bas de page dans les résultats.

    sql-result-showheader

    on (ou true)

    Indique s’il faut inclure une ligne d’en-tête, y compris des en-têtes de colonne, dans les résultats.

  • Pour définir un paramètre global, saisissez set-property suivi du nom et de la valeur du paramètre.

    Par exemple, pour désactiver les en-têtes et les pieds de page dans les résultats :

    user1@xy12345.snowflakecomputing.com> set-property sql-result-showfooter false
    user1@xy12345.snowflakecomputing.com> set-property sql-result-showheader false
    

    Notez que vous n’avez pas besoin de saisir de caractères de fermeture, par exemple un point-virgule (;), pour définir les propriétés globales.

Exécution d’instructions SQL et de fichiers de script

Pour exécuter une requête ou une instruction SQL :

  • Saisissez un point-virgule (;) immédiatement après la fin de l’instruction.

  • Si vous saisissez une nouvelle ligne après l’instruction, vous devez saisir deux points-virgules (;;) pour exécuter l’instruction.

  • Sur une nouvelle ligne, vous pouvez également saisir une barre oblique avant (/) qui correspond à la commande servant à terminer une instruction.

Par exemple, n’importe quelle syntaxe peut être utilisée pour exécuter la requête suivante :

user1@xy12345.snowflakecomputing.com> select * from test1;


user1@xy12345.snowflakecomputing.com> select * from test1
                                      ;;

user1@xy12345.snowflakecomputing.com> select * from test1
                                      /

Pour exécuter un fichier de script SQL, utilisez @ ou @@ suivi du chemin du répertoire et du nom complet du fichier (y compris de son extension, le cas échéant).

Par exemple, pour exécuter un fichier nommé query.sql localisé dans le répertoire /Users/user1/scripts :

user1@xy12345.snowflakecomputing.com> @/Users/user1/scripts/query.sql

Note

HenPlus permet aussi d’utiliser la commande start pour exécuter un fichier. Cependant, vous ne pouvez pas utiliser cette commande dans sfsql pour exécuter un fichier car Snowflake réserve le mot-clé START pour lancer des transactions. Pour plus d’informations, voir Transactions.

Annulation des requêtes en cours de traitement

Pour annuler une requête qui n’est pas encore terminée, utilisez la combinaison clavier [CTRL]-c.

Résultats de spooling

Afin de « spooler » les résultats d’une requête ou d’une commande SQL en file d’attente , saisissez spool suivi du chemin du répertoire et du nom du fichier dans lequel vous souhaitez « spooler » les résultats.

Pour arrêter les résultats du spooling, saisissez spool off.

Accès à l’aide de ligne de commande Snowflake

Snowflake fournit des chapitres d’aide de ligne de commande. Pour accéder à l’aide, utilisez la syntaxe suivante :

info [ <topic> | <subtopic> ]
  • Si aucune valeur n’est spécifiée, tous les chapitres de niveau supérieur de l’aide sont affichés.

  • Si un chapitre est spécifié, tous ses sous-chapitres sont affichés.

  • Si un sous-chapitre est spécifié, le contenu du sous-chapitre est affiché.

Par exemple :

info;

info warehouses;

info alter_warehouse;

Commandes HenPlus non prises en charge

HenPlus fournit des commandes natives pour exécuter des tâches, telles que la description d’objets et l’importation/l’exportation de données à partir du système. Vous ne devez pas utiliser ces commandes dans sfsql Utilisez plutôt les commandes SQL fournies par Snowflake :

Commandes HenPlus non prises en charge :

Commandes SQL Snowflake équivalentes :

tables , views et autres commandes connexes

SHOW <objets>

describe , idescribe

DESCRIBE <objet>

import , import-check et autres commandes connexes

COPY INTO <table>, COPY INTO <emplacement>

dump-out , dump-in et autres commandes connexes

PUT, GET