SnowConvert : Oracle SQL PLus¶
Accepter¶
Avertissement
La transformation de cette commande est en attente
Description¶
Lit une ligne d’entrée et la stocke dans une variable de substitution donnée. (Référence et guide de l’utilisateur Oracle SQL Plus)
ACC[EPT] variable [NUM[BER] | CHAR | DATE | BINARY_FLOAT | BINARY_DOUBLE] [FOR[MAT] format] [DEF[AULT] default] [PROMPT text|NOPR[OMPT]] [HIDE]
Snowflake n’a pas d’équivalent direct de cette commande. Afin d’émuler cette fonctionnalité, la commande SnowCLI!system
sera utilisée en tirant parti des ressources du système pour les opérations d’entrée.
1. Accept command¶
Oracle¶
ACCEPT variable_name CHAR PROMPT 'Enter the variable value >'
SnowSQL (client CLI)¶
!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
Avertissement
Notez que cette approche ne s’applique qu’à MacOs et Linux. Si vous souhaitez exécuter ces requêtes sous Windows, vous aurez peut-être besoin d’un terminal compatible avec le langage bash script de Linux.
Problèmes connus¶
Aucun problème connu.
Append¶
Avertissement
La transformation de cette commande est en attente
Description¶
Ajoute le texte spécifié à la fin de la ligne actuelle dans le tampon SQL. (Référence et guide de l’utilisateur Oracle SQL Plus)
A[PPEND] text
Snowflake n’a pas d’équivalent direct de cette commande. La commande Snowflake !edit
peut être utilisée pour modifier la dernière requête à l’aide d’un éditeur de texte prédéfini. Bien que cette approche ne couvre pas toutes les fonctionnalités de APPPEND
, elle constitue une alternative.
1. Append command¶
Oracle¶
APPEND SOME TEXT
SnowSQL (client CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'APPEND STATEMENT' NODE ***/!!!
APPEND SOME TEXT;
Problèmes connus¶
Aucun problème connu.
EWIs connexes¶
SSC-EWI-0073 : En attente de l’examen de l’équivalence fonctionnelle.
Archive Log¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande ARCHIVE LOG
affiche des informations sur les fichiers journaux de reprise. (Référence et guide de l’utilisateur Oracle SQL Plus)
ARCHIVE LOG LIST
Snowflake n’a pas d’équivalent direct de cette commande. La commande Snowflake !options
peut être utilisée pour afficher le chemin d’emplacement de certains fichiers connectés, mais elle ne correspond pas tout à fait au comportement attendu par la commande ARCHIVE LOG
. Au moment de la transformation, une EWI sera ajoutée.
1. Archive Log command¶
Oracle¶
ARCHIVE LOG LIST
SnowSQL (client CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'ARCHIVE LOG STATEMENT' NODE ***/!!!
ARCHIVE LOG LIST;
Problèmes connus¶
Aucun problème connu.
EWIs connexes¶
SSC-EWI-0073 : En attente de l’examen de l’équivalence fonctionnelle.
Attribut¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande ATTRIBUTE
spécifie les caractéristiques d’affichage d’un attribut donné d’une colonne de type objet. (Référence et guide de l’utilisateur Oracle SQL Plus)
ATTR[IBUTE] [type_name.attribute_name [option ...]]
Snowflake n’a pas d’équivalent direct de cette commande.
1. Attribute command¶
Oracle¶
ATTRIBUTE Address.street_address FORMAT A10
SnowSQL (client CLI)¶
-- ** MSC-WARNING - MSCEWI3... - ATTRIBUTE SQL*PLUS COMMAND IS NOT CURRENTLY SUPPORTED BY SNOWFLAKE. **
--ATTRIBUTE Address.street_address FORMAT A10
Avertissement
Le code de l’EWI n’est pas encore défini.
Problèmes connus¶
1. SnowSQL peut définir le format d’une colonne
Actuellement, SnowSQL ne prend pas en charge les types personnalisés et ne dispose pas non plus d’une commande permettant de formater les colonnes. Toutefois, vous pouvez utiliser la solution suivante pour formater les colonnes dans le résultat de votre requête :
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');
Cette solution alternative doit envisager une stratégie supplémentaire à désactiver lorsque, dans Oracle, la commande ATTRIBUTE
reçoit l’option OFF.
EWIs connexes¶
Pas d’EWIs connexes.
Break¶
Avertissement
La transformation de cette commande est en attente
Description¶
Spécifie l’emplacement des modifications dans un rapport et l’action de formatage à effectuer. (Référence et guide de l’utilisateur Oracle SQL Plus)
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 ne prend pas en charge l’utilisation de cette commande et n’en possède aucune qui pourrait ressembler à sa fonctionnalité. Au moment de la transformation, une EWI sera ajoutée.
1. BREAK command¶
Oracle¶
BREAK ON customer_age SKIP 5 DUPLICATES;
SnowSQL (client CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'BREAK STATEMENT' NODE ***/!!!
BREAK ON customer_age SKIP 5 DUPLICATES;
Problèmes connus¶
Aucun problème connu.
EWIs connexes¶
SSC-EWI-0073 : En attente de l’examen de l’équivalence fonctionnelle.
Titre B¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande BTITLE
place et formate un titre spécifié au bas de chaque page du rapport, ou donne la liste de la définition actuelle de BTITLE. (Référence et guide de l’utilisateur Oracle SQL Plus)
BTI[TLE] [printspec [text | variable] ...] | [ON | OFF]
Snowflake n’a pas d’équivalent direct de cette commande.
1. Btitle command¶
Oracle¶
BTITLE BOLD 'This is the banner title'
SnowSQL (client CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'BTITLE STATEMENT' NODE ***/!!!
BTITLE BOLD 'This is the banner title';
Problèmes connus¶
1. SnowSQL ne permet pas l’affichage d’en-têtes et de pieds de page personnalisés dans les requêtes
Actuellement, SnowSQL ne prend pas en charge l’affichage d’en-têtes et de pieds de page personnalisés dans la sortie des requêtes. Toutefois, vous pouvez utiliser la solution suivante pour afficher les informations d’en-tête et de pied de page dans la sortie de votre requête :
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');
Cette solution alternative doit envisager une stratégie supplémentaire à désactiver lorsque, dans Oracle, la commande BTITLE
reçoit l’option OFF.
EWIs connexes¶
SSC-EWI-0073 : En attente de l’examen de l’équivalence fonctionnelle.
Changement¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande CHANGE
modifie la première occurrence du texte spécifié sur la ligne en cours dans la mémoire tampon. (Référence et guide de l’utilisateur Oracle SQL Plus)
C[HANGE] sepchar old [sepchar [new [sepchar]]]
Snowflake n’a pas d’équivalent direct de cette commande. La commande Snowflake !edit
peut être utilisée pour modifier la dernière requête à l’aide d’un éditeur de texte prédéfini. Bien que cette approche ne couvre pas toutes les fonctionnalités de CHANGE
, elle constitue une alternative.
1. Change command¶
Oracle¶
CHANGE /old/new/
SnowSQL (client CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'CHANGE STATEMENT' NODE ***/!!!
CHANGE /old/new/;
Problèmes connus¶
1. Scénarios non pris en charge
La commande CHANGE peut être présentée de différentes manières, dont 2 ne sont actuellement pas prises en charge par le traducteur :
3 WHERE col_id = 1
La saisie d’un numéro de ligne suivi d’une chaîne remplacera la ligne, quel que soit le texte qui suit le numéro de ligne. Ce scénario n’est pas pris en charge car il ne respecte pas la grammaire de la commande.
CHANGE/OLD/NEW/
Saisissez le texte à remplacer suivi de la commande sans utiliser d’espaces. Ce scénario n’est pas pris en charge car il ne suit pas la logique de tokenisation par espaces.
EWIs connexes¶
SSC-EWI-0073 : En attente de l’examen de l’équivalence fonctionnelle.
Colonne¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande COLUMN
spécifie les attributs d’affichage pour une colonne donnée. (Référence et guide de l’utilisateur Oracle SQL Plus)
COL[UMN] [{column | expr} [option ...]]
Snowflake ne prend pas en charge l’utilisation de cette commande et n’en possède aucune qui pourrait ressembler à sa fonctionnalité. Au moment de la transformation, une EWI sera ajoutée.
1. Column command¶
La commande COLUMN
sans clause permet de dresser la liste de tous les attributs actuels d’affichage des colonnes.
Oracle¶
COLUMN column_id ALIAS col_id NOPRINT
SnowSQL (client CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'COLUMN STATEMENT' NODE ***/!!!
COLUMN column_id ALIAS col_id NOPRINT;
Problèmes connus¶
Aucun problème connu.
EWIs connexes¶
SSC-EWI-0073 : En attente de l’examen de l’équivalence fonctionnelle.
Define¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande DEFINE
spécifie une variable utilisateur ou prédéfinie et lui affecte une valeur CHAR, ou annonce la valeur et le type de variable d’une seule variable ou de toutes les variables. (Référence et guide de l’utilisateur Oracle SQL Plus)
DEF[INE] [variable] | [variable = text]
!define [variable] | [variable=text]
Note
Snowflake recommande de ne pas ajouter d’espace dans l’instruction d’affectation de la valeur de la variable.
1. Define with simple variable assignment¶
Ce cas est équivalent sur le plan fonctionnel.
La commande DEFINE
est remplacée par la commande !define
.
Oracle
DEFINE column_id = test
DEFINE column_id = &column_reference
SnowSQL (CLI Client)
!define column_id = test
!define column_id = &column_reference
Pour faire référence à une variable précédemment définie, & est précédé du nom de la variable. Si la variable n’existe pas, Oracle autorise son affectation au moment de l’exécution, mais Snowflake génère une erreur indiquant l’inexistence de ladite variable
2. Define without variable assignments
Avertissement
Ce cas n’est pas équivalent sur le plan fonctionnel.
Oracle¶
DEFINE column_id
SnowSQL (client CLI)¶
!define column_id
La commande DEFINE utilisée sans l’instruction d’affectation est utilisée dans Oracle pour montrer la définition de la variable, par contre dans Snowflake cette façon d’utiliser la commande DEFINE réinitialiserait l’affectation de la variable, donc une façon de simuler le comportement présenté dans Oracle est d’utiliser la commande SELECT.
Cette solution serait à peu près la suivante :
select '&column_id';
Problèmes connus¶
1. Activation de la substitution de variables
Pour permettre à SnowSQL CLI de substituer des valeurs aux variables, vous devez donner la valeur true à l’option de configuration variable_substitution. Cette opération peut être effectuée lors de l’installation, au démarrage d’une instance de base de données ou en exécutant la commande suivante :
!set variable_substitution=true
2. Variables prédéfinies
Neuf variables sont prédéfinies lors de l’installation de SQL*Plus. Ces variables peuvent être utilisées ultérieurement par l’utilisateur. Le client SnowSQL CLI n’a que deux variables prédéfinies : __ROWCOUNT
et__ SFQID
.
Hôte¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande HOST
exécute une commande du système d’opérateur sans quitter SQL*Plus. (Référence et guide de l’utilisateur Oracle SQL Plus)
HO[ST] [command]
!system <command>
1. Set with simple variable assignment¶
Ce cas est équivalent sur le plan fonctionnel.
La commande HOST
est remplacée par la commande !system
.
Oracle
HOST dir *.sql
SnowSQL (CLI Client)
!system dir *.sql
Known Issues
Aucun problème connu.
Related EWIs
Pas d’EWIs connexes.
Prompt
Avertissement
La transformation de cette commande est en attente
Description¶
La commande PROMPT
envoie le message spécifié ou une ligne vide à l’écran de l’utilisateur. Si vous omettez un texte, PROMPT
affiche une ligne vierge sur l’écran de l’utilisateur. (Référence et guide de l’utilisateur Oracle SQL Plus)
PRO[MPT] [text]
!print [text]
1. Simple print¶
La commande PROMPT
est remplacée par la commande !print
.
Ce cas est équivalent sur le plan fonctionnel.
Oracle
PROMPT
PROMPT text
PROMPT db_link_name = "&1"
SnowSQL (CLI Client)
!print
!print text
!print db_link_name = "&1"
Known Issues
Aucun problème connu
Related EWIs
Pas d’EWIs connexes.
Remark
Avertissement
La transformation de cette commande est en attente
Description¶
La commande REMARK
permet de commencer un commentaire dans un script. SQL*Plus n’interprète pas le commentaire comme une commande. (Référence et guide de l’utilisateur Oracle SQL Plus)
REM[ARK] comment
Snowflake n’a pas d’équivalent direct pour cette commande. Cependant, certaines de ses fonctionnalités peuvent être émulées.
1. Remark after the first line¶
Ce cas est équivalent sur le plan fonctionnel.
Lorsque la commande REMARK
ne se trouve pas au début d’un script, vous pouvez utiliser les marqueurs de commentaire standard SQL et les doubles tirets.
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
Avertissement
Ce cas n’est pas équivalent sur le plan fonctionnel.
Lorsque la commande REMARK
se trouve au début d’un script, des scénarios peuvent apparaître comme suit :
Cas 1 : La ligne suivante est une requête, auquel cas la conversion en Snowflake de la commande REMARK
réussit.
Cas 2 : La ligne suivante est une autre commande SQL*Plus, auquel cas la conversion ne peut être effectuée puisque Snowflake n’est pas en mesure d’exécuter l’une ou l’autre des deux instructions (Ceci s’applique également au scénario où il n’y a qu’une seule instruction dans l’énoncé du script qui correspond à la commande REMARK
).
Vous trouverez ci-dessous quelques exemples où les deux premiers n’ont pas pu être traduits correctement.
Oracle¶
REMARK single line
REMARK first line
HOST dir *.sql
REMARK first line
SELECT 'hello world' FROM dual;
SnowSQL (client CLI)¶
!!!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;
Problèmes connus¶
Aucun problème connu.
EWIs connexes¶
SSC-EWI-0073 : En attente de l’examen de l’équivalence fonctionnelle.
Définir¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande SET
définit une variable système pour modifier les paramètres de l’environnement de SQL*Plus pour votre session en cours. (Référence et guide de l’utilisateur Oracle SQL Plus)
SET system_variable value
!set <option>=<value>
Note
Snowflake recommande de ne pas ajouter d’espace dans l’instruction d’affectation de la valeur de la variable.
1. Set with simple variable assignment¶
Ce cas est équivalent sur le plan fonctionnel.
La commande SET
est remplacée par la commande !set
.
Oracle
SET wrap on
SnowSQL (CLI Client)
!set wrap=true
2. Define without variable assignments
Avertissement
Ce cas n’est pas équivalent sur le plan fonctionnel.
Oracle permet de contourner la règle clé-valeur pour l’attribution de valeurs aux variables de système avec un domaine numérique, en attribuant la valeur 0 par défaut dans de tels cas. Dans Snowflake, cela n’est pas autorisé, une alternative est donc de paramétrer explicitement la valeur 0 à une variable donnée.
Oracle¶
SET pagesize
SnowSQL (client CLI)¶
!set rowset_size=0
Problèmes connus¶
1. Variables prédéfinies
La commande SET ne fonctionne que pour les variables de système, qui peuvent différer en termes de quantité, de nom ou de domaine entre les deux langues. Il convient donc d’examiner la variable utilisée dans la commande pour trouver son équivalence correcte dans Snowflake. Pour voir la liste des variables du système dans Oracle, vous pouvez utiliser la commande SHOW ALL
alors que dans Snowflake, vous pouvez utiliser !options
.
EWIs connexes¶
Pas d’EWIs connexes.
Show¶
Avertissement
La transformation de cette commande est en attente
Description¶
Affiche la valeur d’une variable système SQLPlus ou l’environnement actuel SQLPlus. (Référence et guide de l’utilisateur Oracle SQL Plus)
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 n’a pas d’équivalent direct pour cette commande. Cependant, certaines de ses fonctionnalités peuvent être émulées.
1. Show ERRORS¶
Affiche les erreurs de compilation d’une procédure stockée (y compris les fonctions stockées, les procédures et les paquets). Après avoir utilisé la commande CREATE pour créer une procédure stockée, un message s’affiche si la procédure stockée présente des erreurs de compilation.
Dans Snowflake, il est inutile d’exécuter une instruction supplémentaire pour afficher toutes les erreurs de compilation. Les erreurs de compilation s’affichent immédiatement lors de l’exécution de l’instruction CREATE.
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
Note
Notez que le mot-clé INTO est mal orthographié afin de provoquer une erreur de compilation.
SnowSQL (client CLI)¶
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'.
Show ALL¶
Liste les paramètres de toutes les options de SHOW, à l’exception de ERRORS et SGA, par ordre alphabétique.
Pour afficher toutes les options possibles dans SnowCLI, vous pouvez exécuter la commande !options
.
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 (client CLI)¶
!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 |
+-----------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
Problèmes connus¶
1. Il n’est pas possible dans SnowCLI d’afficher la valeur d’une seule option.
SnowCLI ne permet pas d’afficher la valeur d’une option spécifique. Vous pouvez utiliser !options
pour surveiller la valeur de l’option.
2. Des recherches sont en attente pour faire correspondre chaque option de SQLPLUS à un équivalent de SnowflakeCLI.
La définition d’une équivalence pour chaque option de SQLPLUS reste en attente.
EWIs connexes¶
SSC-EWI-0073 : En attente de l’examen de l’équivalence fonctionnelle.
Spool¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande SPOOL
stocke les résultats de la requête dans un fichier ou, en option, envoie le fichier à une imprimante. (Référence et guide de l’utilisateur Oracle SQL Plus)
SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]
!spool [<file_name>] | [off]
1. Spool without options¶
Ce cas est équivalent sur le plan fonctionnel.
Lorsque la commande SPOOL
n’est accompagnée d’aucune option, elle crée par défaut un nouveau fichier avec le nom et l’extension spécifiés. La commande SPOOL
est remplacée par la commande !spool
.
Oracle
SPOOL temp
SPOOL temp.txt
SnowSQL (CLI Client)
!spool temp
!spool temp.txt
2. Spool with write options
Avertissement
Ce cas n’est pas équivalent sur le plan fonctionnel.
Oracle autorise 3 types d’options lors de l’écriture dans un fichier via la commande SPOOL
. Les options CREATE et APPEND permettent respectivement de créer un fichier à écrire à partir de zéro et de concaténer du texte à la fin d’un fichier existant (ou d’en créer un nouveau s’il n’existe pas). Snowflake ne prend pas en charge ces options, cependant, son comportement par défaut est de créer un fichier et, s’il existe, de concaténer le texte qu’il contient. L’option REPLACE, en revanche, écrit dans le fichier spécifique en remplaçant le contenu existant. Pour simuler ce comportement dans Snowflake, il est recommandé de supprimer le fichier dans lequel vous voulez écrire et de recommencer à écrire, comme le montre le code suivant
Oracle¶
SPOOL temp.txt CREATE
SPOOL temp.txt APPEND
SPOOL temp.txt REPLACE
SnowSQL (client CLI)¶
!spool temp.txt
!spool temp.txt
!system del temp.txt
!spool temp.txt
3. Spool turn off¶
Ce cas est équivalent sur le plan fonctionnel.
Oracle propose deux options pour désactiver le spooling des résultats, OFF et OUT. Toutes deux sont destinées à arrêter le spooling, à la différence que la seconde envoie également le fichier à l’imprimante standard (par défaut) de l’ordinateur. Cette opération n’est pas disponible sur certains systèmes d’exploitation. Snowflake n’a que l’option de désactiver le spooling de résultats
Oracle
SPOOL OFF
SPOOL OUT
SnowSQL (CLI Client)
!spool off
!spool off
Known Issues
Aucun problème connu.
Related EWIs
Pas d’EWIs connexes.
Début
Avertissement
La transformation de cette commande est en attente
Description¶
La commande START
exécute les instructions SQL*Plus dans le script spécifié. Le script peut être appelé à partir du système de fichiers local ou d’un serveur web. (Référence et guide de l’utilisateur Oracle SQL Plus)
STA[RT] {url | file_name[.ext] } [arg...]
!(load | source) {url | file_name[.ext] }
Les commandes Snowflake !source
et !load
sont équivalentes.
1. Simple start¶
La commande START
est remplacée par la commande !load
.
Ce cas est équivalent sur le plan fonctionnel.
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
Avertissement
Les arguments de script ne sont actuellement pas pris en charge pour SnowSQL (Client CLI).
Problèmes connus¶
1. Les arguments ne sont pas pris en charge par le client SnowSQL CLI
Oracle peut transmettre plusieurs arguments à un script et être accessible avec &1, &2, et ainsi de suite, mais cela n’est pas possible dans le client SnowSQL CLI. Vous pouvez simuler des arguments en déclarant des variables à l’aide de la commande !define
. Gardez à l’esprit que ces valeurs sont définies globalement pour tous les scripts, de sorte que le comportement peut ne pas être équivalent.
Cette solution de contournement ressemblerait à quelque chose comme ceci :
!set variable_substitution=true
!define 1=123
!define 2=456
!define 3=789
!load C:\Users\My_User\Desktop\My\Path\insert_script.sql
EWIs connexes¶
Pas d’EWIs connexes.
Whenever oserror¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande WHENEVER OSERROR
effectue l’action spécifiée (quitte SQL*Plus par défaut) en cas d’erreur du système d’exploitation. (Référence et guide de l’utilisateur Oracle SQL Plus)
WHENEVER OSERROR {EXIT [SUCCESS | FAILURE | n | variable | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}
Snowflake ne prend pas en charge l’utilisation de cette commande et n’en possède aucune qui pourrait ressembler à sa fonctionnalité. Au moment de la transformation, une EWI sera ajoutée.
1. Whenever oserror command¶
Oracle¶
WHENEVER OSERROR EXIT
SnowSQL (client CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'WHENEVER ERROR STATEMENT' NODE ***/!!!
WHENEVER OSERROR EXIT;
Problèmes connus¶
Aucun problème connu.
EWIs connexes¶
SSC-EWI-0073 : En attente de l’examen de l’équivalence fonctionnelle.
Whenever sqlerror¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande WHENEVER SQLERROR
exécute l’action spécifiée (quitte SQL*Plus par défaut) si une commande SQL ou un bloc PL/SQL génère une erreur. (Référence et guide de l’utilisateur Oracle SQL Plus)
WHENEVER SQLERROR {EXIT [SUCCESS | FAILURE | WARNING | n | variable | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}
Snowflake ne prend pas en charge l’utilisation de cette commande et n’en possède aucune qui pourrait ressembler à sa fonctionnalité. Au moment de la transformation, une EWI sera ajoutée.
1. Whenever sqlerror command¶
Oracle¶
WHENEVER SQLERROR EXIT
SnowSQL (client CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'WHENEVER ERROR STATEMENT' NODE ***/!!!
WHENEVER SQLERROR EXIT;
Problèmes connus¶
Aucun problème connu.
EWIs connexes¶
SSC-EWI-0073 : En attente de l’examen de l’équivalence fonctionnelle.