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]

Copy

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 >'
Copy
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
Copy

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

Copy

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
Copy
SnowSQL (client CLI)
 !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'APPEND STATEMENT' NODE ***/!!!
APPEND SOME TEXT;
Copy

Problèmes connus

Aucun problème connu.

EWIs connexes

  1. 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

Copy

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
Copy
SnowSQL (client CLI)
 !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'ARCHIVE LOG STATEMENT' NODE ***/!!!
ARCHIVE LOG LIST;
Copy

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 ...]]

Copy

Snowflake n’a pas d’équivalent direct de cette commande.

1. Attribute command

Oracle
 ATTRIBUTE Address.street_address FORMAT A10
Copy
SnowSQL (client CLI)
 -- ** MSC-WARNING - MSCEWI3... - ATTRIBUTE SQL*PLUS COMMAND IS NOT CURRENTLY SUPPORTED BY SNOWFLAKE. **
--ATTRIBUTE Address.street_address FORMAT A10
Copy

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');
Copy

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]]

Copy

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;
Copy
SnowSQL (client CLI)
 !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'BREAK STATEMENT' NODE ***/!!!
BREAK ON customer_age SKIP 5 DUPLICATES;
Copy

Problèmes connus

Aucun problème connu.

EWIs connexes

  1. 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]

Copy

Snowflake n’a pas d’équivalent direct de cette commande.

1. Btitle command

Oracle
 BTITLE BOLD 'This is the banner title'
Copy
SnowSQL (client CLI)
 !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'BTITLE STATEMENT' NODE ***/!!!
BTITLE BOLD 'This is the banner title';
Copy

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');
Copy

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

  1. 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]]]

Copy

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/
Copy
SnowSQL (client CLI)
 !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'CHANGE STATEMENT' NODE ***/!!!
CHANGE /old/new/;
Copy

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
Copy

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/
Copy

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

  1. 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 ...]]

Copy

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
Copy
SnowSQL (client CLI)
 !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'COLUMN STATEMENT' NODE ***/!!!
COLUMN column_id ALIAS col_id NOPRINT;
Copy

Problèmes connus

Aucun problème connu.

EWIs connexes

  1. 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]

Copy
!define [variable] | [variable=text]

Copy

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
Copy
SnowSQL (CLI Client)
 !define column_id = test

!define column_id = &column_reference
Copy

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
Copy
SnowSQL (client CLI)
 !define column_id
Copy

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';
Copy

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
Copy

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]

Copy
!system <command>

Copy

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
Copy
SnowSQL (CLI Client)
 !system dir *.sql
Copy

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]

Copy
!print [text]

Copy

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"
Copy
SnowSQL (CLI Client)
 !print

!print text

!print db_link_name = "&1"
Copy

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

Copy

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;
Copy
SnowSQL (CLI Client)
 select 'hello world';
-- and now exit the session
!exit
Copy

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;
Copy
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;
Copy

Problèmes connus

Aucun problème connu.

EWIs connexes

  1. 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

Copy
!set <option>=<value>

Copy

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
Copy
SnowSQL (CLI Client)
 !set wrap=true
Copy

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
Copy
SnowSQL (client CLI)
 !set rowset_size=0
Copy

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

Copy

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
Copy
LINE/COL ERROR
-------- -----------------------------------------------------------------
4/3      PL/SQL: SQL Statement ignored
4/10     PL/SQL: ORA-00925: missing INTO keyword

Copy

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;
Copy
001003 (42000): SQL compilation error:
syntax error line 3 at position 7 unexpected 'INT'.
syntax error line 3 at position 11 unexpected 'PUBLIC'.

Copy

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;
Copy
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

Copy
SnowSQL (client CLI)
 !options
Copy
+-----------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
| 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                                                                                           |
+-----------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+

Copy

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

  1. 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]

Copy
!spool [<file_name>] | [off]

Copy

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
Copy
SnowSQL (CLI Client)
 !spool temp
!spool temp.txt
Copy

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
Copy
SnowSQL (client CLI)
 !spool temp.txt
!spool temp.txt

!system del temp.txt
!spool temp.txt
Copy

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
Copy
SnowSQL (CLI Client)
 !spool off
!spool off
Copy

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...]

Copy
!(load | source) {url | file_name[.ext] }

Copy

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
Copy
SnowSQL (CLI Client)
 !load C:\Users\My_User\Desktop\My\Path\insert_script.sql
Copy

2. Start with arguments

Oracle
 START C:\Users\My_User\Desktop\My\Path\insert_script.sql 123 456 789
Copy
SnowSQL (CLI Client)
 !load C:\Users\My_User\Desktop\My\Path\insert_script.sql
Copy

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
Copy

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]}

Copy

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
Copy
SnowSQL (client CLI)
 !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'WHENEVER ERROR STATEMENT' NODE ***/!!!
WHENEVER OSERROR EXIT;
Copy

Problèmes connus

Aucun problème connu.

EWIs connexes

  1. 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]}

Copy

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
Copy
SnowSQL (client CLI)
 !!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'WHENEVER ERROR STATEMENT' NODE ***/!!!
WHENEVER SQLERROR EXIT;
Copy

Problèmes connus

Aucun problème connu.

EWIs connexes

  1. SSC-EWI-0073 : En attente de l’examen de l’équivalence fonctionnelle.