SnowConvert AI – Oracle – SQL*Plus¶
Dies ist eine Übersetzungsreferenz für die Konvertierung von SQL Plus-Anweisungen in SnowSQL (CLI Client)
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)
Oracle-Syntax¶
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¶
Befehl¶
ACCEPT variable_name CHAR PROMPT 'Enter the variable value >'
SnowSQL (CLI-Client)¶
Befehl¶
!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)
Oracle-Syntax¶
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¶
Befehl¶
APPEND SOME TEXT
SnowSQL (CLI-Client)¶
Befehl¶
!!!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 LOGzeigt Informationen zum Wiederherstellen von Protokolldateien an. (Oracle SQL Plus Benutzerhandbuch und Referenz)
Oracle-Syntax¶
ARCHIVE LOG LIST
Snowflake verfügt nicht über eine direkte Entsprechung zu diesem Befehl. Der Snowflake-Befehl ! optionskann 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¶
Befehl¶
ARCHIVE LOG LIST
SnowSQL (CLI-Client)¶
Befehl¶
!!!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
ATTRIBUTElegt die Anzeigemerkmale für ein bestimmtes Attribut einer Objekttypspalte fest. (Oracle SQL Plus Benutzerhandbuch und Referenz)
Oracle-Syntax¶
ATTR[IBUTE] [type_name.attribute_name [option ...]]
Snowflake verfügt nicht über eine direkte Entsprechung zu diesem Befehl.
1. Attribute command¶
Oracle¶
Befehl¶
ATTRIBUTE Address.street_address FORMAT A10
SnowSQL (CLI-Client)¶
Befehl¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'ATTRIBUTE STATEMENT' NODE ***/!!!
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)
Oracle-Syntax¶
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¶
Befehl¶
BREAK ON customer_age SKIP 5 DUPLICATES;
SnowSQL (CLI-Client)¶
Befehl¶
!!!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
BTITLEplatziert und formatiert einen bestimmten Titel am unteren Rand jeder Berichtsseite oder listet die aktuelle BTITLE Definition auf. (Oracle SQL Plus Benutzerhandbuch und Referenz)
Oracle-Syntax¶
BTI[TLE] [printspec [text | variable] ...] | [ON | OFF]
Snowflake verfügt nicht über eine direkte Entsprechung zu diesem Befehl.
1. Btitle command¶
Oracle¶
Befehl¶
BTITLE BOLD 'This is the banner title'
SnowSQL (CLI-Client)¶
Befehl¶
!!!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)
Oracle-Syntax¶
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¶
Befehl¶
CHANGE /old/new/
SnowSQL (CLI-Client)¶
Befehl¶
!!!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
COLUMNlegt die Anzeigeattribute für eine bestimmte Spalte fest. (Oracle SQL Plus Benutzerhandbuch und Referenz)
Oracle-Syntax¶
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¶
Befehl¶
COLUMN column_id ALIAS col_id NOPRINT
SnowSQL (CLI-Client)¶
Befehl¶
!!!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
DEFINEgibt 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)
Oracle-Syntax¶
DEF[INE] [variable] | [variable = text]
SnowSQL (CLI Client) !define¶
!define [variable] | [variable=text]
Bemerkung
Snowflake empfiehlt, in der Anweisung zur Zuweisung von Variablenwerten keine Leerzeichen einzufügen.
1. Define with simple variable assignment¶
Hinweis
Dieser Fall ist funktionell gleichwertig.
Der Befehl DEFINE wird durch den Befehl ! define ersetzt.
Oracle¶
Befehl¶
DEFINE column_id = test
DEFINE column_id = &column_reference
SnowSQL (CLI-Client)¶
Befehl¶
!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¶
Befehl¶
DEFINE column_id
SnowSQL (CLI-Client)¶
Befehl¶
!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:
Befehl¶
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:
Befehl¶
!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
HOSTführt einen Betriebssystembefehl aus, ohne SQL*Plus zu verlassen. (Oracle SQL Plus Benutzerhandbuch und Referenz)
Oracle-Syntax¶
HO[ST] [command]
SnowSQL (CLI Client) !system¶
!system <command>
1. Set with simple variable assignment¶
Hinweis
Dieser Fall ist funktionell gleichwertig.
Der Befehl HOST wird durch den Befehl ! system ersetzt.
Oracle¶
Befehl¶
HOST dir *.sql
SnowSQL (CLI-Client)¶
Befehl¶
!system dir *.sql
Bekannte Probleme¶
Keine bekannten Probleme.
Zugehörige EWIs¶
Keine zugehörigen EWIs.
Prompt¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl
PROMPTsendet die angegebene Nachricht oder eine Leerzeile an den Bildschirm des Benutzers. Wenn Sie einen Text auslassen, zeigtPROMPTeine Leerzeile auf dem Bildschirm des Benutzers an. (Oracle SQL Plus Benutzerhandbuch und Referenz)
Oracle-Syntax¶
PRO[MPT] [text]
SnowSQL (CLI Client) !print¶
!print [text]
1. Simple print¶
Der Befehl PROMPT wird durch den Befehl ! print ersetzt.
Hinweis
Dieser Fall ist funktionell gleichwertig.
Oracle¶
Befehl¶
PROMPT
PROMPT text
PROMPT db_link_name = "&1"
SnowSQL (CLI-Client)¶
Befehl¶
!print
!print text
!print db_link_name = "&1"
Bekannte Probleme¶
Keine bekannten Probleme
Zugehörige EWIs¶
Keine zugehörigen EWIs.
Bemerkung¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl
REMARKbeginnt einen Kommentar in einem Skript. SQL*Plus interpretiert den Kommentar nicht als Befehl. (Oracle SQL Plus Benutzerhandbuch und Referenz))
Oracle-Syntax¶
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¶
Hinweis
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¶
Befehl¶
SELECT 'hello world' FROM dual;
REMARK and now exit the session
EXIT;
SnowSQL (CLI-Client)¶
Befehl¶
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¶
Befehl¶
REMARK single line
REMARK first line
HOST dir *.sql
REMARK first line
SELECT 'hello world' FROM dual;
SnowSQL (CLI-Client)¶
Befehl¶
!!!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
SETsetzt eine Systemvariable, um die Umgebungseinstellungen von SQL*Plus für Ihre aktuelle Sitzung zu ändern. (Oracle SQL Plus Benutzerhandbuch und Referenz)
Oracle-Syntax¶
SET system_variable value
SnowSQL (CLI Client) !set¶
!set <option>=<value>
Bemerkung
Snowflake empfiehlt, in der Anweisung zur Zuweisung von Variablenwerten keine Leerzeichen einzufügen.
1. Set with simple variable assignment¶
Hinweis
Dieser Fall ist funktionell gleichwertig.
Der Befehl SET wird durch den Befehl ! set ersetzt.
Oracle¶
Befehl¶
SET wrap on
SnowSQL (CLI-Client)¶
Befehl¶
!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¶
Befehl¶
SET pagesize
SnowSQL (CLI-Client)¶
Befehl¶
!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)
Oracle-Syntax¶
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¶
Befehl¶
CREATE OR REPLACE PROCEDURE RANCOM_PROC
AS
BEGIN
INSERT INTO NE_TABLE SELECT 1 FROM DUAL;
END;
SHOW ERRORS
Ergebnis¶
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)¶
Befehl¶
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;
Ergebnis¶
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¶
Befehl¶
show all;
Ergebnis¶
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)¶
Befehl¶
!options
Ergebnis¶
Name |
Wert |
Hilfe |
|---|---|---|
auto_completion |
True |
Zeigt Vorschläge zur automatischen Vervollständigung von Befehlen und Snowflake-Objekten an |
client_session_keep_alive |
False |
Hält die Sitzung unbegrenzt aktiv, auch wenn der Benutzer inaktiv ist. |
client_store_temporary_credential |
False |
Ermöglicht Linux-Benutzenden die Verwendung einer temporären Datei zum Speichern von ID_TOKEN. |
connection_options |
{} |
Legt beliebige Verbindungsparameter in zugrunde liegenden Python-Konnektor-Verbindungen fest. |
echo |
False |
Gibt den SQL-Befehl an das Termina aus, wenn es ausgeführt wird. |
editor |
vim |
Ändert den Editor, der für den Befehl !edit verwendet wird |
empty_for_null_in_tsv |
False |
Gibt eine leere Zeichenfolge für NULL-Werte im TSV-Format aus. |
environment_variables |
[] |
Gibt die Umgebungsvariablen an, die in den SnowSQL-Variablen gesetzt werden sollen. |
Die Variablennamen müssen durch Komma getrennt werden. |
||
execution_only |
False |
Führt nur Abfragen aus. Es werden keine Daten abgerufen |
exit_on_error |
False |
Wird beendet, wenn SnowSQL auf einen Fehler stößt. |
fix_parameter_precedence |
True |
Korrigiert den Vorrang der Verbindungsparameter in der Reihenfolge 1) Umgebungsvariablen, 2) Verbindungsparameter, 3) Standardverbindungsparameter. |
force_put_overwrite |
False |
Erzwingt OVERWRITE= true für PUT. Dies dient dazu, das schließlich konsistente Problem von S3 abzumildern. |
friendly |
True |
Zeigt den Begrüßungstext und die Abschiedsnachrichten an. |
Header |
True |
Gibt den Header in den Abfrageergebnissen aus. |
insecure_mode |
False |
Deaktiviert OSCP-Zertifikatsprüfungen. |
key_bindings |
emacs |
Ändert die Tastenkombinationen für die Navigation der Eingabeaufforderung in emacs oder vi. |
log_bootstrap_file |
../snowsql_rt.log_bo.. |
Speicherort der SnowSQL-Bootstrap-Protokolldatei. |
log_file |
../snowsql_rt.log |
Hauptspeicherort der SnowSQL-Protokolldatei. |
log_level |
DEBUG |
Ändert den Protokolliergrad (Kritisch, Debug, Info, Fehler, Warnung) |
login_timeout |
120 |
Timeout für Anmeldung in Sekunden. |
noup |
False |
Deaktiviert das automatische Upgrade von Snowsql. |
ocsp_fail_open |
True |
Legt den Fail-open-Modus für OCSP-Fehler fest. Weitere Informationen finden Sie in der Dokumentation. |
output_file |
Keine |
Schreibt die Ausgabe zusätzlich zum Terminal in die angegebene Datei. |
output_format |
psql |
Legt das Ausgabeformat für Abfrageergebnisse fest. |
paging |
False |
Ermöglicht das Anhalten der Ausgabe je nach Bildschirmhöhe. |
progress_bar |
True |
Zeigt während der Datenübertragung eine Statusanzeige an. |
prompt_format |
[user]#[warehouse]@[.. |
Legt das Eingabeaufforderungsformat fest. Weitere Informationen dazu finden Sie in der Dokumentation. |
quiet |
False |
Blendet alle Ausgaben aus. |
remove_comments |
False |
Entfernt Kommentare, bevor die Abfrage an Snowflake gesendet wird. |
remove_trailing_semicolons |
False |
Entfernt nachstehende Semikolons aus SQL-Text, bevor Abfragen an Snowflake gesendet werden. |
results |
True |
Ist die Option deaktiviert, werden Abfragen asynchron gesendet, es werden jedoch keine Ergebnisse abgerufen. |
Verwenden Sie !queries, um den Status zu überprüfen. |
||
rowset_size |
1000 |
Legt die Größe der Rowsets fest, die vom Server abgerufen werden sollen. |
Setzen Sie die Option auf „low“ für eine reibungslose Ausgabe und auf „high“ für eine schnelle Ausgabe. |
||
sfqid |
False |
Aktiviert/Deaktiviert die Snowflake-Abfrage-ID in der Zusammenfassung. |
sfqid_in_error |
False |
Aktiviert/Deaktiviert die Snowflake-Abfrage-ID in der Fehlermeldung. |
sql_delimiter |
; |
Definiert, welches reservierte Schlüsselwort SQL-Anweisungen voneinander trennt. |
sql_split |
snowflake.connector… |
Wählt die SQL-Splitter-Implementierung aus. Derzeit snowflake.connector.util_text oder snowflake.cli.sqlsplit. |
stop_on_error |
False |
Stoppt alle Abfragen, die noch ausgeführt werden, wenn SnowSQL auf einen Fehler stößt. |
syntax_style |
default |
Legt die Farben für den Text von SnowSQL fest. |
timing |
True |
Aktiviert/Deaktivert den Zeitpunkt für jede Abfrage. |
timing_in_output_file |
False |
Schließt den Zeitpunkt in die Ausgabedatei ein. |
variable_substitution |
False |
Ersetzt Variablen (beginnend mit „&“) durch Werte. |
Version |
1.2.24 |
SnowSQL-Version |
wrap |
True |
Schneidet Zeilen auf die Breite des Terminalbildschirms ab. |
———————————– |
———————— |
———————————————————————————————————————————————– |
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
SPOOLspeichert die Abfrageergebnisse in einer Datei oder sendet die Datei optional an einen Drucker. (Oracle SQL Plus Benutzerhandbuch und Referenz)
Oracle-Syntax¶
SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]
SnowSQL (CLI Client) !spool¶
!spool [<file_name>] | [off]
1. Spool without options¶
Hinweis
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¶
Befehl¶
SPOOL temp
SPOOL temp.txt
SnowSQL (CLI-Client)¶
Befehl¶
!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¶
Befehl¶
SPOOL temp.txt CREATE
SPOOL temp.txt APPEND
SPOOL temp.txt REPLACE
SnowSQL (CLI-Client)¶
Befehl¶
!spool temp.txt
!spool temp.txt
!system del temp.txt
!spool temp.txt
3. Spool turn off¶
Hinweis
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¶
Befehl¶
SPOOL OFF
SPOOL OUT
SnowSQL (CLI-Client)¶
Befehl¶
!spool off
!spool off
Bekannte Probleme¶
Keine bekannten Probleme.
Zugehörige EWIs¶
Keine zugehörigen EWIs.
Start¶
Warnung
Die Transformation für diesen Befehl steht noch aus
Beschreibung¶
Der Befehl
STARTfü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)
Oracle-Syntax¶
STA[RT] {url | file_name[.ext] } [arg...]
SnowSQL (CLI Client) !load¶
!(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.
Hinweis
Dieser Fall ist funktionell gleichwertig.
Oracle¶
Befehl¶
START C:\Users\My_User\Desktop\My\Path\insert_script.sql
SnowSQL (CLI-Client)¶
Befehl¶
!load C:\Users\My_User\Desktop\My\Path\insert_script.sql
2. Start with arguments¶
Oracle¶
Befehl¶
START C:\Users\My_User\Desktop\My\Path\insert_script.sql 123 456 789
SnowSQL (CLI-Client)¶
Befehl¶
!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 OSERRORführt die angegebene Aktion aus (standardmäßig wird SQL*Plus beendet), wenn ein Betriebssystemfehler auftritt. (Oracle SQL Plus Benutzerhandbuch und Referenz)
Oracle-Syntax¶
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¶
Befehl¶
WHENEVER OSERROR EXIT
SnowSQL (CLI-Client)¶
Befehl¶
!!!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 SQLERRORfü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)
Oracle-Syntax¶
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¶
Befehl¶
WHENEVER SQLERROR EXIT
SnowSQL (CLI-Client)¶
Befehl¶
!!!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.