Verwenden von sfsql

Unter diesem Thema wird die Verwendung von sfsql beschrieben und eine Liste der nativen Henplus-Befehle bereitgestellt, die vom Client nicht unterstützt werden.

Bemerkung

Einige Snowflake-SQL-Befehle werden durch den JDBC-Treiber implementiert, der von sfsql verwendet wird, z. B. PUT/GET für das Hochladen von Dateien zu und Herunterladen von Dateien aus internen Stagingbereichen. Infolgedessen können diese Operationen in sfsql, aber nicht auf der Snowflake-Weboberfläche ausgeführt werden.

Unter diesem Thema:

Einstellen der Parameter

HenPlus stellt Eigenschaften zur Verfügung, die das Verhalten der Sitzung steuern. Sie sollten diese Eigenschaften jedoch nicht unter sfsql einstellen. Verwenden Sie stattdessen die Sitzungsparameter, die von Snowflake bereitgestellt werden.

Darüber hinaus stellt HenPlus die folgenden globalen Eigenschaften zur Verfügung, die über alle Sitzungen hinweg eingestellt werden können (die Eigenschaftseinstellungen werden gespeichert, wenn Sie sich von der Sitzung abmelden). Sie können die folgenden globalen Eigenschaften verwenden, um die Formatierung und die Darstellung der SQL-Anweisungsergebnisse zu steuern:

  • Um die Liste der globalen Parameter und ihrer aktuellen Werte anzuzeigen, geben Sie in der Befehlszeile set-property ein:

    Eigenschaft

    Anfangswert

    Beschreibung

    column-delimiter

    |

    Gibt das/die Zeichen an, mit denen Spalten in der Anzeige getrennt/formatiert werden.

    comments-remove

    inaktiv (oder falsch)

    Wird derzeit nicht verwendet.

    echo-commands

    inaktiv (oder falsch)

    Gibt an, ob eine Anweisung vor der Ausführung angezeigt werden soll.

    sql-result-limit

    1000000000

    Gibt die maximale Anzahl der Zeilen an, die in den Ergebnissen der Anweisung zurückgegeben werden.

    sql-result-showfooter

    aktiv (oder wahr)

    Gibt an, ob in die Ergebnisse eine Fußzeile aufgenommen werden soll.

    sql-result-showheader

    aktiv (oder wahr)

    Gibt an, ob eine Kopfzeile, einschließlich der Spaltenüberschriften, in die Ergebnisse aufgenommen werden soll.

  • Um einen globalen Parameter einzustellen, geben Sie set-property ein, gefolgt von Parametername und Wert.

    Im folgenden Beispiel werden Kopf- und Fußzeilen in den Ergebnissen deaktiviert:

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

    Beachten Sie, dass Sie keine abschließenden Zeichen eingeben müssen, z. B. Semikolon (;), um die globalen Eigenschaften festzulegen.

Ausführen von SQL-Anweisungen und -Skriptdateien

So führen Sie eine SQL-Abfrage oder -Anweisung aus:

  • Geben Sie unmittelbar am Ende der Anweisung ein Semikolon (;) ein.

  • Wenn Sie nach der Anweisung eine neue Zeile eingeben, müssen Sie zwei Semikolons (;;) eingeben, um die Anweisung auszuführen.

  • In einer neuen Zeile können Sie auch einen Schrägstrich (/) eingeben, der der Befehl zum Beenden einer Anweisung ist.

Beispielsweise kann jede Syntaxvariante verwendet werden, um die folgende Abfrage auszuführen:

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


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

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

Um eine SQL-Skriptdatei auszuführen, verwenden Sie @ oder @@, gefolgt vom Verzeichnispfad und dem vollständigen Namen der Datei (einschließlich der Dateiendung, falls vorhanden).

Das folgende Beispiel gilt für die Ausführung einer Datei mit dem Namen query.sql, die sich im Verzeichnis /Users/user1/scripts befindet:

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

Bemerkung

In HenPlus kann eine Datei auch mit dem Befehl start ausgeführt werden. Sie können diesen Befehl jedoch nicht in sfsql verwenden, um eine Datei auszuführen, da Snowflake das Schlüsselwort START für das Auslösen von Transaktionen reserviert. Weitere Informationen dazu finden Sie unter Transaktionen.

Abbrechen von ausgeführten Abfragen

Um eine noch nicht abgeschlossene Abfrage abzubrechen, verwenden Sie die Tastaturkombination [CTRL]-c.

Spoolen von Ergebnissen

Um die Ergebnisse einer SQL-Abfrage oder eines Befehls zu spoolen, geben Sie spool ein, gefolgt von dem Verzeichnispfad und dem Namen der Datei, in der die Ergebnisse gespeichert werden sollen.

Um das Spoolen von Ergebnissen zu stoppen, geben Sie spool off ein.

Aufrufen der Snowflake-Befehlszeilenhilfe

Snowflake bietet Hilfethemen zur Befehlszeile. Um auf die Hilfe zuzugreifen, verwenden Sie die folgende Syntax:

info [ <topic> | <subtopic> ]
  • Wenn kein Wert angegeben wird, werden alle Top-Level-Themen der Hilfe angezeigt.

  • Wenn ein Thema angegeben ist, werden alle Unterthemen des Themas angezeigt.

  • Wenn ein Unterpunkt angegeben ist, wird der Inhalt des Unterpunktes angezeigt.

Beispiel:

info;

info warehouses;

info alter_warehouse;

Nicht unterstützte HenPlus-Befehle

HenPlus stellt native Befehle zur Verfügung, um Aufgaben wie die Beschreibung von Objekten und den Import/Export von Daten im System durchzuführen. Sie sollten diese Befehle nicht in sfsql verwenden. Verwenden Sie stattdessen die SQL-Befehle von Snowflake:

Nicht unterstützte HenPlus-Befehle:

Äquivalente SQL-Befehle in Snowflake:

tables, views und andere verwandte Befehle

SHOW <Objekte>

describe , idescribe

DESCRIBE <Objekt>

import, import-check und andere verwandte Befehle

COPY INTO <Tabelle>, COPY INTO <Speicherort>

dump-out, dump-in und andere verwandte Befehle

PUT, GET