SnowConvert: Oracle SQL PLus¶
Accept¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Liest eine Eingabezeile und speichert sie in einer bestimmten Substitutionsvariablen (Oracle SQL Plus Benutzerhandbuch und Referenz)
ACC[EPT] variable [NUM[BER] | CHAR | DATE | BINARY_FLOAT | BINARY_DOUBLE] [FOR[MAT] format] [DEF[AULT] default] [PROMPT text|NOPR[OMPT]] [HIDE]
Snowflake verfügt nicht über eine direkte Entsprechung zu diesem Befehl. Um diese Funktionalität zu emulieren, wird der Befehl SnowCLI! system
verwendet, indem die Systemressourcen für die Eingabeoperationen genutzt werden.
1. Accept command¶
Oracle¶
ACCEPT variable_name CHAR PROMPT 'Enter the variable value >'
SnowSQL (CLI-Client)¶
!print Enter the value
!system read aux && echo '!define variable_name='"$aux" > sc_aux_file.sql
!load sc_aux_file.sql
!system rm sc_aux_file.sql
Warnung
Beachten Sie, dass dieser Ansatz nur für MacOs und Linux gilt. Wenn Sie diese Abfragen unter Windows ausführen möchten, benötigen Sie möglicherweise ein Terminal, das eine Linux-Bash-Skriptsprache unterstützt.
Bekannte Probleme¶
Keine bekannten Probleme.
Append¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Fügt den angegebenen Text an das Ende der aktuellen Zeile im Puffer SQL ein. (Oracle SQL Plus Benutzerhandbuch und Referenz)
A[PPEND] text
Snowflake verfügt nicht über eine direkte Entsprechung zu diesem Befehl. Mit dem Befehl Snowflake ! edit
können Sie die letzte Abfrage mit einem vordefinierten Texteditor bearbeiten. Wenn dieser Ansatz nicht alle Funktionen von APPPEND
abdeckt, ist er eine Alternative.
1. Append command¶
Oracle¶
APPEND SOME TEXT
SnowSQL (CLI-Client)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'APPEND STATEMENT' NODE ***/!!!
APPEND SOME TEXT;
Bekannte Probleme¶
Keine bekannten Probleme.
Zugehörige EWIs¶
[SSC-EWI-0073](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0073): Überprüfung der Funktionsäquivalenz ausstehend.
Archive Log¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl ARCHIVE LOG
zeigt Informationen zum Wiederherstellen von Protokolldateien an. (Oracle SQL Plus Benutzerhandbuch und Referenz)
ARCHIVE LOG LIST
Snowflake verfügt nicht über eine direkte Entsprechung zu diesem Befehl. Der Snowflake-Befehl ! options
kann verwendet werden, um den Speicherpfad einiger Protokolldateien anzuzeigen. Er entspricht jedoch nicht vollständig dem vom Befehl ARCHIVE LOG
erwarteten Verhalten. Zum Zeitpunkt der Transformation wird eine EWI hinzugefügt.
1. Archive Log command¶
Oracle¶
ARCHIVE LOG LIST
SnowSQL (CLI-Client)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'ARCHIVE LOG STATEMENT' NODE ***/!!!
ARCHIVE LOG LIST;
Bekannte Probleme¶
Keine bekannten Probleme.
Zugehörige EWIs¶
[SSC-EWI-0073](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0073): Überprüfung der Funktionsäquivalenz ausstehend.
Attribut¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl ATTRIBUTE
legt die Anzeigemerkmale für ein bestimmtes Attribut einer Objekttypspalte fest. (Oracle SQL Plus Benutzerhandbuch und Referenz)
ATTR[IBUTE] [type_name.attribute_name [option ...]]
Snowflake verfügt nicht über eine direkte Entsprechung zu diesem Befehl.
1. Attribute command¶
Oracle¶
ATTRIBUTE Address.street_address FORMAT A10
SnowSQL (CLI-Client)¶
-- ** MSC-WARNING - MSCEWI3... - ATTRIBUTE SQL*PLUS COMMAND IS NOT CURRENTLY SUPPORTED BY SNOWFLAKE. **
--ATTRIBUTE Address.street_address FORMAT A10
Warnung
Der Code für EWI ist noch nicht definiert.
Bekannte Probleme¶
1. SnowSQL kann das Format einer Spalte festlegen
Derzeit unterstützt SnowSQL weder benutzerdefinierte Typen noch verfügt es über einen Befehl zum Formatieren von Spalten. Sie können jedoch die folgende Umgehungsmöglichkeit verwenden, um Spalten in Ihrem Abfrageergebnis zu formatieren:
SELECT SUBSTR(street_address, 1, 4) FROM person
SELECT TO_VARCHAR(1000.89, '$9,999.99')
SELECT to_varchar('03-Feb-2023'::DATE, 'yyyy.mm.dd');
Diese alternative Lösung muss eine zusätzliche Strategie zur Deaktivierung berücksichtigen, wenn in Oracle der Befehl ATTRIBUTE
die Option OFF erhält.
Zugehörige EWIs¶
Keine zugehörigen EWIs.
Break¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Gibt an, wo in einem Bericht Änderungen vorgenommen werden und welche Formatierungsaktion durchgeführt werden soll. (Oracle SQL Plus Benutzerhandbuch und Referenz)
BRE[AK] [ON report_element [action [action]]] ...
report_element := {column|expr|ROW|REPORT}
action := [SKI[P] n|[SKI[P]] PAGE] [NODUP[LICATES]|DUP[LICATES]]
Snowflake unterstützt die Verwendung dieses Befehls nicht und verfügt über keinen Befehl, der seiner Funktionalität ähnelt. Zum Zeitpunkt der Transformation wird eine EWI hinzugefügt.
1. BREAK command¶
Oracle¶
BREAK ON customer_age SKIP 5 DUPLICATES;
SnowSQL (CLI-Client)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'BREAK STATEMENT' NODE ***/!!!
BREAK ON customer_age SKIP 5 DUPLICATES;
Bekannte Probleme¶
Keine bekannten Probleme.
Zugehörige EWIs¶
[SSC-EWI-0073](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0073): Überprüfung der Funktionsäquivalenz ausstehend.
Btitle¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl BTITLE
platziert und formatiert einen bestimmten Titel am unteren Rand jeder Berichtsseite oder listet die aktuelle BTITLE Definition auf. (Oracle SQL Plus Benutzerhandbuch und Referenz)
BTI[TLE] [printspec [text | variable] ...] | [ON | OFF]
Snowflake verfügt nicht über eine direkte Entsprechung zu diesem Befehl.
1. Btitle command¶
Oracle¶
BTITLE BOLD 'This is the banner title'
SnowSQL (CLI-Client)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'BTITLE STATEMENT' NODE ***/!!!
BTITLE BOLD 'This is the banner title';
Bekannte Probleme¶
1. SnowSQL unterstützt die Anzeige von benutzerdefinierten Kopf- und Fußzeilen in Abfragen nicht
Derzeit unterstützt SnowSQL die Anzeige von benutzerdefinierten Kopf- und Fußzeilen in der Abfrageausgabe nicht. Sie können jedoch den folgenden Workaround verwenden, um Kopf- und Fußzeileninformationen in Ihrer Abfrageausgabe anzuzeigen:
SELECT column1,
column2
FROM my_table;
SELECT 'This is the banner title' AS BTITLE;
--Another alternative
!print 'This is the banner title'
--To emulate BTITLE COL 5 'This is the banner title'
SELECT CONCAT(SPACE(5), 'This is the banner title');
Diese alternative Lösung muss eine zusätzliche Strategie zur Deaktivierung berücksichtigen, wenn in Oracle der Befehl BTITLE
die Option OFF erhält.
Zugehörige EWIs¶
[SSC-EWI-0073](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0073): Überprüfung der Funktionsäquivalenz ausstehend.
Änderung¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl CHANGE
ändert das erste Vorkommen des angegebenen Textes in der aktuellen Zeile im Puffer. (Oracle SQL Plus Benutzerhandbuch und Referenz)
C[HANGE] sepchar old [sepchar [new [sepchar]]]
Snowflake verfügt nicht über eine direkte Entsprechung zu diesem Befehl. Mit dem Befehl Snowflake ! edit
können Sie die letzte Abfrage mit einem vordefinierten Texteditor bearbeiten. Wenn dieser Ansatz nicht alle Funktionen von CHANGE
abdeckt, ist er eine Alternative.
1. Change command¶
Oracle¶
CHANGE /old/new/
SnowSQL (CLI-Client)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'CHANGE STATEMENT' NODE ***/!!!
CHANGE /old/new/;
Bekannte Probleme¶
1. Nicht unterstützte Szenarien
Der Befehl CHANGE kann auf verschiedene Arten dargestellt werden, von denen 2 derzeit nicht vom Übersetzer unterstützt werden, diese werden im Folgenden vorgestellt:
3 WHERE col_id = 1
Wenn Sie eine Zeilennummer gefolgt von einer Zeichenfolge eingeben, wird die Zeile unabhängig von dem Text, der auf die Zeilennummer folgt, ersetzt. Dieses Szenario wird nicht unterstützt, da es nicht der Befehlsgrammatik entspricht.
CHANGE/OLD/NEW/
Geben Sie den zu ersetzenden Text gefolgt von dem Befehl ein, ohne Leerzeichen zu verwenden. Dieses Szenario wird nicht unterstützt, da es nicht der Logik der Tokenisierung durch Leerzeichen folgt.
Zugehörige EWIs¶
[SSC-EWI-0073](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0073): Überprüfung der Funktionsäquivalenz ausstehend.
Spalte¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl COLUMN
legt die Anzeigeattribute für eine bestimmte Spalte fest. (Oracle SQL Plus Benutzerhandbuch und Referenz)
COL[UMN] [{column | expr} [option ...]]
Snowflake unterstützt die Verwendung dieses Befehls nicht und verfügt über keinen Befehl, der seiner Funktionalität ähnelt. Zum Zeitpunkt der Transformation wird eine EWI hinzugefügt.
1. Column command¶
Der Befehl COLUMN
ohne Klauseln listet alle aktuellen Spaltenanzeigeattribute auf.
Oracle¶
COLUMN column_id ALIAS col_id NOPRINT
SnowSQL (CLI-Client)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'COLUMN STATEMENT' NODE ***/!!!
COLUMN column_id ALIAS col_id NOPRINT;
Bekannte Probleme¶
Keine bekannten Probleme.
Zugehörige EWIs¶
[SSC-EWI-0073](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0073): Überprüfung der Funktionsäquivalenz ausstehend.
DEFINE-Befehl¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl DEFINE
gibt eine benutzer- oder vordefinierte Variable an und weist ihr einen CHAR-Wert zu oder listet den Wert und den Variablentyp einer einzelnen oder aller Variablen auf. (Oracle SQL Plus Benutzerhandbuch und Referenz)
DEF[INE] [variable] | [variable = text]
!define [variable] | [variable=text]
Bemerkung
Snowflake empfiehlt, in der Anweisung zur Zuweisung von Variablenwerten keine Leerzeichen einzufügen.
1. Define with simple variable assignment¶
Dieser Fall ist funktionell gleichwertig.
Der Befehl DEFINE
wird durch den Befehl ! define
ersetzt.
Oracle
DEFINE column_id = test
DEFINE column_id = &column_reference
SnowSQL (CLI Client)
!define column_id = test
!define column_id = &column_reference
Um auf eine zuvor definierte Variable zu verweisen, wird & vor den Namen der Variable gesetzt. Wenn die Variable nicht existiert, erlaubt Oracle die Zuweisung zum Ausführungszeitpunkt. Snowflake würde jedoch einen Fehler ausgeben, der auf die Nicht-Existenz der Variable hinweist.
2. Define without variable assignments
Warnung
Dieser Fall ist funktionell nicht gleichwertig.
Oracle¶
DEFINE column_id
SnowSQL (CLI-Client)¶
!define column_id
Der Befehl DEFINE ohne die Zuweisungsanweisung wird in Oracle verwendet, um die Definition der Variablen anzuzeigen. In Snowflake hingegen würde diese Art der Verwendung des Befehls DEFINE die Zuweisung der Variablen zurücksetzen. Eine Möglichkeit, die in Oracle dargestellte Verhaltensweise zu simulieren, ist daher die Verwendung des Befehls SELECT.
Diese Lösung würde in etwa so aussehen:
select '&column_id';
Bekannte Probleme¶
1. Aktivieren der Variablensubstitution
Um SnowSQL CLI zu ermöglichen, Werte für die Variablen zu ersetzen, müssen Sie die Konfigurationsoption variable_substitution auf „true“ setzen. Dieser Vorgang kann bei der Installation, beim Starten einer Datenbankinstanz oder durch Ausführen des folgenden Befehls durchgeführt werden:
!set variable_substitution=true
2. Vordefinierte Variablen
Bei der Installation von SQL*Plus gibt es neun vordefinierte Variablen. Diese Variablen können später vom Benutzer verwendet werden. Der SnowSQL CLI-Client hat nur zwei vordefinierte Variablen __ROWCOUNT
und__ SFQID
.
Host¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl HOST
führt einen Betriebssystembefehl aus, ohne SQL*Plus zu verlassen. (Oracle SQL Plus Benutzerhandbuch und Referenz)
HO[ST] [command]
!system <command>
1. Set with simple variable assignment¶
Dieser Fall ist funktionell gleichwertig.
Der Befehl HOST
wird durch den Befehl ! system
ersetzt.
Oracle
HOST dir *.sql
SnowSQL (CLI Client)
!system dir *.sql
Known Issues
Keine bekannten Probleme.
Related EWIs
Keine zugehörigen EWIs.
Prompt
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl PROMPT
sendet die angegebene Nachricht oder eine Leerzeile an den Bildschirm des Benutzers. Wenn Sie einen Text auslassen, zeigt PROMPT
eine Leerzeile auf dem Bildschirm des Benutzers an. (Oracle SQL Plus Benutzerhandbuch und Referenz)
PRO[MPT] [text]
!print [text]
1. Simple print¶
Der Befehl PROMPT
wird durch den Befehl ! print
ersetzt.
Dieser Fall ist funktionell gleichwertig.
Oracle
PROMPT
PROMPT text
PROMPT db_link_name = "&1"
SnowSQL (CLI Client)
!print
!print text
!print db_link_name = "&1"
Known Issues
Keine bekannten Probleme
Related EWIs
Keine zugehörigen EWIs.
Bemerkung
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl REMARK
beginnt einen Kommentar in einem Skript. SQL*Plus interpretiert den Kommentar nicht als Befehl. (Oracle SQL Plus Benutzerhandbuch und Referenz))
REM[ARK] comment
Snowflake verfügt nicht über eine direkte Entsprechung für diesen Befehl. Einige seiner Funktionen können jedoch emuliert werden.
1. Remark after the first line¶
Dieser Fall ist funktionell gleichwertig.
Wenn der Befehl REMARK
nicht am Anfang eines Skripts steht, können Sie die Standard-SQL-Kommentarmarkierungen und doppelte Bindestriche verwenden.
Oracle
SELECT 'hello world' FROM dual;
REMARK and now exit the session
EXIT;
SnowSQL (CLI Client)
select 'hello world';
-- and now exit the session
!exit
2. Remark on the first line
Warnung
Dieser Fall ist funktionell nicht gleichwertig.
Wenn der Befehl REMARK
am Anfang eines Skripts steht, können folgende Szenarien auftreten:
Fall 1: Die nächste Zeile ist eine Abfrage. In diesem Fall ist die Konvertierung des Befehls REMARK
in Snowflake erfolgreich.
Fall 2: Die nächste Zeile ist ein weiterer SQL*Plus-Befehl. In diesem Fall kann die Konvertierung nicht durchgeführt werden, da Snowflake nicht in der Lage ist, eine der beiden Anweisungen auszuführen. (Dies gilt auch für das Szenario, in dem es nur eine Anweisung in der Skriptanweisung gibt, die dem REMARK
-Befehl entspricht).
Nachfolgend finden Sie einige Beispiele, bei denen die ersten beiden nicht korrekt übersetzt werden konnten.
Oracle¶
REMARK single line
REMARK first line
HOST dir *.sql
REMARK first line
SELECT 'hello world' FROM dual;
SnowSQL (CLI-Client)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'REMARK STATEMENT' NODE ***/!!!
REMARK single line;
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'REMARK STATEMENT' NODE ***/!!!
REMARK first line;
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'HOST STATEMENT' NODE ***/!!!
HOST dir *.sql;
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'REMARK STATEMENT' NODE ***/!!!
REMARK first line;
SELECT 'hello world' FROM dual;
Bekannte Probleme¶
Keine bekannten Probleme.
Zugehörige EWIs¶
[SSC-EWI-0073](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0073): Überprüfung der Funktionsäquivalenz ausstehend.
Setzen¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl SET
setzt eine Systemvariable, um die Umgebungseinstellungen von SQL*Plus für Ihre aktuelle Sitzung zu ändern. (Oracle SQL Plus Benutzerhandbuch und Referenz)
SET system_variable value
!set <option>=<value>
Bemerkung
Snowflake empfiehlt, in der Anweisung zur Zuweisung von Variablenwerten keine Leerzeichen einzufügen.
1. Set with simple variable assignment¶
Dieser Fall ist funktionell gleichwertig.
Der Befehl SET
wird durch den Befehl ! set
ersetzt.
Oracle
SET wrap on
SnowSQL (CLI Client)
!set wrap=true
2. Define without variable assignments
Warnung
Dieser Fall ist funktionell nicht gleichwertig.
Oracle erlaubt es, die Schlüsselwert-Regel für die Zuweisung von Werten an Systemvariablen mit einem numerischen Bereich zu umgehen, indem in solchen Fällen standardmäßig der Wert 0 zugewiesen wird. In Snowflake ist dies nicht erlaubt, so dass eine Alternative darin besteht, einer besagten Variablen explizit den Wert 0 zuzuweisen.
Oracle¶
SET pagesize
SnowSQL (CLI-Client)¶
!set rowset_size=0
Bekannte Probleme¶
1. Vordefinierte Variablen
Der Befehl SET funktioniert nur für Systemvariablen, die sich in der Anzahl, dem Namen oder der Domäne zwischen den beiden Sprachen unterscheiden können. Daher sollten Sie die im Befehl verwendete Variable überprüfen, um ihre korrekte Snowflake-Entsprechung zu finden. Um die Liste der Systemvariablen in Oracle anzuzeigen, verwenden Sie den Befehl SHOW ALL
, während Sie in Snowflake ! options
verwenden.
Zugehörige EWIs¶
Keine zugehörigen EWIs.
Anzeigen¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Zeigt den Wert einer SQLPlus-Systemvariablen oder die aktuelle SQLPlus-Umgebung an. (Oracle SQL Plus Benutzerhandbuch und Referenz)
SHO[W] system_variable ALL BTI[TLE] CON_ID CON_NAME EDITION ERR[ORS] [ {ANALYTIC VIEW | ATTRIBUTE DIMENSION | HIERARCHY | FUNCTION | PROCEDURE | PACKAGE | PACKAGE BODY | TRIGGER | VIEW | TYPE | TYPE BODY | DIMENSION | JAVA CLASS } [schema.]name]HISTORY LNO LOBPREF[ETCH] PARAMETER[S] [parameter_name] PDBS PNO RECYC[LEBIN] [original_name] REL[EASE] REPF[OOTER] REPH[EADER] ROWPREF[ETCH] SGA SPOO[L] SPPARAMETER[S] [parameter_name] SQLCODE STATEMENTC[ACHE] TTI[TLE] USER XQUERY
Snowflake verfügt nicht über eine direkte Entsprechung für diesen Befehl. Einige seiner Funktionen können jedoch emuliert werden.
1. Show ERRORS¶
Zeigt die Kompilierungsfehler einer gespeicherten Prozedur an (einschließlich gespeicherter Funktionen, Prozeduren und Pakete). Nachdem Sie den Befehl CREATE verwendet haben, um eine gespeicherte Prozedur zu erstellen, wird eine Meldung angezeigt, wenn die gespeicherte Prozedur Kompilierungsfehler aufweist.
In Snowflake ist es nicht nötig, eine zusätzliche Anweisung auszuführen, um alle Kompilierungsfehler anzuzeigen. Die Kompilierungsfehler werden sofort angezeigt, wenn Sie die Anweisung CREATE ausführen.
Oracle¶
CREATE OR REPLACE PROCEDURE RANCOM_PROC
AS
BEGIN
INSERT INTO NE_TABLE SELECT 1 FROM DUAL;
END;
SHOW ERRORS
LINE/COL ERROR
-------- -----------------------------------------------------------------
4/3 PL/SQL: SQL Statement ignored
4/10 PL/SQL: ORA-00925: missing INTO keyword
Bemerkung
Beachten Sie, dass das Schlüsselwort INTO falsch geschrieben ist, um einen Kompilierungsfehler zu verursachen.
SnowSQL (CLI-Client)¶
CREATE OR REPLACE PROCEDURE RANCOM_PROC ()
RETURNS VARCHAR
LANGUAGE SQL
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"oracle"}}'
EXECUTE AS CALLER
AS
$$
BEGIN
INSERT INTO NE_TABLE
SELECT 1 FROM DUAL;
END;
$$;
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'SHOW STATEMENT' NODE ***/!!!
SHOW ERRORS;
001003 (42000): SQL compilation error:
syntax error line 3 at position 7 unexpected 'INT'.
syntax error line 3 at position 11 unexpected 'PUBLIC'.
ALL anzeigen¶
Listet die Einstellungen aller Optionen von SHOW, außer ERRORS und SGA, in alphabetischer Reihenfolge auf.
Um alle möglichen Optionen in SnowCLI anzuzeigen, können Sie den Befehl ! options
ausführen.
Oracle¶
show all;
appinfo is OFF and set to "SQL*Plus"
arraysize 15
autocommit OFF
autoprint OFF
autorecovery OFF
autotrace OFF
blockterminator "." (hex 2e)
btitle OFF and is the first few characters of the next SELECT statement
cmdsep OFF
colinvisible OFF
coljson OFF
colsep " "
compatibility version NATIVE
concat "." (hex 2e)
copycommit 0
COPYTYPECHECK is ON
define "&" (hex 26)
describe DEPTH 1 LINENUM OFF INDENT ON
echo OFF
editfile "afiedt.buf"
embedded OFF
errorlogging is OFF
escape OFF
escchar OFF
exitcommit ON
FEEDBACK ON for 6 or more rows SQL_ID OFF
flagger OFF
flush ON
fullcolname OFF
heading ON
headsep "|" (hex 7c)
history is OFF
instance "local"
jsonprint NORMAL
linesize 80
lno 5
loboffset 1
lobprefetch 0
logsource ""
long 80
longchunksize 80
markup HTML OFF HEAD "<style type='text/css'> body {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} p {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} table,tr,td {font:10pt Arial,Helvetica,sans-serif; color:Black; background:#f7f7e7; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;} th {font:bold 10pt Arial,Helvetica,sans-serif; color:#336699; background:#cccc99; padding:0px 0px 0px 0px;} h1 {font:16pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; border-bottom:1px solid #cccc99; margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;-
} h2 {font:bold 10pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; margin-top:4pt; margin-bottom:0pt;} a {font:9pt Arial,Helvetica,sans-serif; color:#663300; background:#ffffff; margin-top:0pt; margin-bottom:0pt; vertical-align:top;}</style><title>SQL*Plus Report</title>" BODY "" TABLE "border='1' width='90%' align='center' summary='Script output'" SPOOL OFF ENTMAP ON PREFORMAT OFF
markup CSV OFF DELIMITER , QUOTE ON
newpage 1
null ""
numformat ""
numwidth 10
pagesize 14
PAUSE is OFF
pno 1
recsep WRAP
recsepchar " " (hex 20)
release 2103000000
repfooter OFF and is NULL
repheader OFF and is NULL
rowlimit OFF
rowprefetch 1
securedcol is OFF
serveroutput OFF
shiftinout INVISIBLE
showmode OFF
spool OFF
sqlblanklines OFF
sqlcase MIXED
sqlcode 0
sqlcontinue "> "
sqlnumber ON
sqlpluscompatibility 21.0.0
sqlprefix "#" (hex 23)
sqlprompt "SQL> "
sqlterminator ";" (hex 3b)
statementcache is 0
suffix "sql"
tab ON
termout ON
timing OFF
trimout ON
trimspool OFF
ttitle OFF and is the first few characters of the next SELECT statement
underline "-" (hex 2d)
USER is "SYSTEM"
verify ON
wrap : lines will be wrapped
xmloptimizationcheck OFF
SnowSQL (CLI-Client)¶
!options
+-----------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
| Name | Value | Help |
|-----------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------|
| auto_completion | True | Displays auto-completion suggestions for commands and Snowflake objects |
| client_session_keep_alive | False | Keeps the session active indefinitely, even if there is no activity from the user. |
| client_store_temporary_credential | False | Enable Linux users to use temporary file to store ID_TOKEN. |
| connection_options | {} | Set arbitrary connection parameters in underlying Python connector connections. |
| echo | False | Outputs the SQL command to the terminal when it is executed |
| editor | vim | Changes the editor to use for the !edit command |
| empty_for_null_in_tsv | False | Outputs an empty string for NULL values in TSV format |
| environment_variables | [] | Specifies the environment variables to be set in the SnowSQL variables. |
| | | The variable names should be comma separated. |
| execution_only | False | Executes queries only. No data will be fetched |
| exit_on_error | False | Quits when SnowSQL encounters an error |
| fix_parameter_precedence | True | Fix the connection parameter precedence in the order of 1) Environment variables, 2) Connection parameters, 3) Default connection parameters. |
| force_put_overwrite | False | Forces OVERWRITE=true for PUT. This is to mitigate S3's eventually consistent issue. |
| friendly | True | Shows the splash text and goodbye messages |
| header | True | Outputs the header in query results |
| insecure_mode | False | Turns off OSCP certificate checks |
| key_bindings | emacs | Changes keybindings for navigating the prompt to emacs or vi |
| log_bootstrap_file | ../snowsql_rt.log_bo.. | SnowSQL bootstrap log file location |
| log_file | ../snowsql_rt.log | SnowSQL main log file location |
| log_level | DEBUG | Changes the log level (critical, debug, info, error, warning) |
| login_timeout | 120 | Login timeout in seconds. |
| noup | False | Turns off auto upgrading Snowsql |
| ocsp_fail_open | True | Sets the fail open mode for OCSP Failures. For help please refer the documentation. |
| output_file | None | Writes output to the specified file in addition to the terminal |
| output_format | psql | Sets the output format for query results. |
| paging | False | Enables paging to pause output per screen height. |
| progress_bar | True | Shows progress bar while transferring data. |
| prompt_format | [user]#[warehouse]@[.. | Sets the prompt format. For help, see the documentation |
| quiet | False | Hides all output |
| remove_comments | False | Removes comments before sending query to Snowflake |
| remove_trailing_semicolons | False | Removes trailing semicolons from SQL text before sending queries to Snowflake |
| results | True | If set to off, queries will be sent asynchronously, but no results will be fetched. |
| | | Use !queries to check the status. |
| rowset_size | 1000 | Sets the size of rowsets to fetch from the server. |
| | | Set the option low for smooth output, high for fast output. |
| sfqid | False | Turns on/off Snowflake query id in the summary. |
| sfqid_in_error | False | Turns on/off Snowflake query id in the error message |
| sql_delimiter | ; | Defines what reserved keyword splits SQL statements from each other. |
| sql_split | snowflake.connector... | Choose SQL spliter implementation. Currently snowflake.connector.util_text, or snowflake\.cli.sqlsplit. |
| stop_on_error | False | Stops all queries yet to run when SnowSQL encounters an error |
| syntax_style | default | Sets the colors for the text of SnowSQL. |
| timing | True | Turns on/off timing for each query |
| timing_in_output_file | False | Includes timing in the output file. |
| variable_substitution | False | Substitutes variables (starting with '&') with values |
| version | 1.2.24 | SnowSQL version |
| wrap | True | Truncates lines at the width of the terminal screen |
+-----------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
Bekannte Probleme¶
1. In SnowCLI ist es nicht möglich, den Wert einer einzelnen Option anzuzeigen.
SnowCLI bietet keine Möglichkeit, den Wert einer bestimmten Option anzuzeigen. Sie können ! options
verwenden, um den Wert der Option zu beobachten.
2. Es sind noch Untersuchungen erforderlich, um jede SQLPLUS-Option mit einem SnowflakeCLI-Äquivalent abzugleichen.
Es steht noch aus, eine Entsprechung für jede SQLPLUS-Option zu definieren.
Zugehörige EWIs¶
[SSC-EWI-0073](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0073): Überprüfung der Funktionsäquivalenz ausstehend.
Spool¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl SPOOL
speichert die Abfrageergebnisse in einer Datei oder sendet die Datei optional an einen Drucker. (Oracle SQL Plus Benutzerhandbuch und Referenz)
SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]
!spool [<file_name>] | [off]
1. Spool without options¶
Dieser Fall ist funktionell gleichwertig.
Wenn der Befehl SPOOL
nicht von einer Option begleitet wird, wird standardmäßig eine neue Datei mit dem angegebenen Namen und der Erweiterung erstellt. Der Befehl SPOOL
wird durch den Befehl ! spool
ersetzt.
Oracle
SPOOL temp
SPOOL temp.txt
SnowSQL (CLI Client)
!spool temp
!spool temp.txt
2. Spool with write options
Warnung
Dieser Fall ist funktionell nicht gleichwertig.
Oracle erlaubt 3 Arten von Optionen, wenn Sie mit dem Befehl SPOOL
in eine Datei schreiben. Mit den Optionen CREATE und APPEND können Sie eine Datei von Grund auf neu erstellen bzw. Text an das Ende einer bestehenden Datei anhängen (oder eine neue Datei erstellen, wenn diese nicht existiert). Snowflake unterstützt diese Optionen nicht, sondern erstellt standardmäßig eine Datei und verkettet, falls vorhanden, den Text darin. Die Option REPLACE hingegen schreibt in die entsprechende Datei und ersetzt den vorhandenen Inhalt. Um diese Verhaltensweise in Snowflake zu simulieren, empfiehlt es sich, die Datei, in die Sie schreiben möchten, zu löschen und erneut zu schreiben, wie im folgenden Code gezeigt.
Oracle¶
SPOOL temp.txt CREATE
SPOOL temp.txt APPEND
SPOOL temp.txt REPLACE
SnowSQL (CLI-Client)¶
!spool temp.txt
!spool temp.txt
!system del temp.txt
!spool temp.txt
3. Spool turn off¶
Dieser Fall ist funktionell gleichwertig.
Oracle bietet zwei Optionen zum Deaktivieren des Ergebnis-Spoolings: OFF und OUT. Beide Optionen dienen dazu, das Spooling zu stoppen, mit dem Unterschied, dass die zweite Option die Datei auch an den Standarddrucker des Computers sendet. Diese Option ist auf einigen Betriebssystemen nicht verfügbar. Snowflake bietet nur die Möglichkeit, das Spooling der Ergebnisse zu deaktivieren
Oracle
SPOOL OFF
SPOOL OUT
SnowSQL (CLI Client)
!spool off
!spool off
Known Issues
Keine bekannten Probleme.
Related EWIs
Keine zugehörigen EWIs.
Start
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl START
führt die SQL*Plus-Anweisungen in dem angegebenen Skript aus. Das Skript kann vom lokalen Dateisystem oder von einem Webserver aus aufgerufen werden. (Oracle SQL Plus Benutzerhandbuch und Referenz)
STA[RT] {url | file_name[.ext] } [arg...]
!(load | source) {url | file_name[.ext] }
Die Snowflake-Befehle ! source
und ! load
sind gleichwertig.
1. Simple start¶
Der Befehl START
wird durch den Befehl ! load
ersetzt.
Dieser Fall ist funktionell gleichwertig.
Oracle
START C:\Users\My_User\Desktop\My\Path\insert_script.sql
SnowSQL (CLI Client)
!load C:\Users\My_User\Desktop\My\Path\insert_script.sql
2. Start with arguments
Oracle
START C:\Users\My_User\Desktop\My\Path\insert_script.sql 123 456 789
SnowSQL (CLI Client)
!load C:\Users\My_User\Desktop\My\Path\insert_script.sql
Warnung
Skriptargumente werden derzeit für SnowSQL (CLI-Client) nicht unterstützt.
Bekannte Probleme¶
1. Argumente werden im SnowSQL CLI-Client nicht unterstützt
Oracle kann mehrere Argumente an ein Skript weitergeben und mit &1, &2 usw. aufgerufen werden, aber dies ist im SnowSQL CLI-Client nicht möglich. Sie können Argumente simulieren, indem Sie Variablen mit dem Befehl ! define
deklarieren. Beachten Sie, dass diese Werte global für alle Skripte definiert sind, so dass die Verhaltensweise möglicherweise nicht gleich ist.
Diese Umgehungsmöglichkeit würde etwa so aussehen:
!set variable_substitution=true
!define 1=123
!define 2=456
!define 3=789
!load C:\Users\My_User\Desktop\My\Path\insert_script.sql
Zugehörige EWIs¶
Keine zugehörigen EWIs.
Immer wenn oserror¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl WHENEVER OSERROR
führt die angegebene Aktion aus (standardmäßig wird SQL*Plus beendet), wenn ein Betriebssystemfehler auftritt. (Oracle SQL Plus Benutzerhandbuch und Referenz)
WHENEVER OSERROR {EXIT [SUCCESS | FAILURE | n | variable | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}
Snowflake unterstützt die Verwendung dieses Befehls nicht und verfügt über keinen Befehl, der seiner Funktionalität ähnelt. Zum Zeitpunkt der Transformation wird eine EWI hinzugefügt.
1. Whenever oserror command¶
Oracle¶
WHENEVER OSERROR EXIT
SnowSQL (CLI-Client)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'WHENEVER ERROR STATEMENT' NODE ***/!!!
WHENEVER OSERROR EXIT;
Bekannte Probleme¶
Keine bekannten Probleme.
Zugehörige EWIs¶
[SSC-EWI-0073](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0073): Überprüfung der Funktionsäquivalenz ausstehend.
Immer wenn sqlerror¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl WHENEVER SQLERROR
führt die angegebene Aktion aus (beendet standardmäßig SQL*Plus), wenn ein SQL Befehl oder PL/SQL-Block einen Fehler erzeugt. (Oracle SQL Plus Benutzerhandbuch und Referenz)
WHENEVER SQLERROR {EXIT [SUCCESS | FAILURE | WARNING | n | variable | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}
Snowflake unterstützt die Verwendung dieses Befehls nicht und verfügt über keinen Befehl, der seiner Funktionalität ähnelt. Zum Zeitpunkt der Transformation wird eine EWI hinzugefügt.
1. Whenever sqlerror command¶
Oracle¶
WHENEVER SQLERROR EXIT
SnowSQL (CLI-Client)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'WHENEVER ERROR STATEMENT' NODE ***/!!!
WHENEVER SQLERROR EXIT;
Bekannte Probleme¶
Keine bekannten Probleme.
Zugehörige EWIs¶
[SSC-EWI-0073](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0073): Überprüfung der Funktionsäquivalenz ausstehend.