SnowConvert AI - Oracle - SQL*Plus¶
Il s’agit d’une référence de traduction pour convertir les instructions SQL Plus vers SnowSQL (CLI client)
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)
Syntaxe Oracle¶
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¶
Commande¶
ACCEPT variable_name CHAR PROMPT 'Enter the variable value >'
SnowSQL (client CLI)¶
Commande¶
!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)
Syntaxe Oracle¶
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¶
Commande¶
APPEND SOME TEXT
SnowSQL (client CLI)¶
Commande¶
!!!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 LOGaffiche des informations sur les fichiers journaux de reprise. (Référence et guide de l’utilisateur Oracle SQL Plus)
Syntaxe Oracle¶
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¶
Commande¶
ARCHIVE LOG LIST
SnowSQL (client CLI)¶
Commande¶
!!!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
ATTRIBUTEspé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)
Syntaxe Oracle¶
ATTR[IBUTE] [type_name.attribute_name [option ...]]
Snowflake n’a pas d’équivalent direct de cette commande.
1. Attribute command¶
Oracle¶
Commande¶
ATTRIBUTE Address.street_address FORMAT A10
SnowSQL (client CLI)¶
Commande¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'ATTRIBUTE STATEMENT' NODE ***/!!!
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)
Syntaxe Oracle¶
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¶
Commande¶
BREAK ON customer_age SKIP 5 DUPLICATES;
SnowSQL (client CLI)¶
Commande¶
!!!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
BTITLEplace 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)
Syntaxe Oracle¶
BTI[TLE] [printspec [text | variable] ...] | [ON | OFF]
Snowflake n’a pas d’équivalent direct de cette commande.
1. Btitle command¶
Oracle¶
Commande¶
BTITLE BOLD 'This is the banner title'
SnowSQL (client CLI)¶
Commande¶
!!!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
CHANGEmodifie 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)
Syntaxe Oracle¶
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¶
Commande¶
CHANGE /old/new/
SnowSQL (client CLI)¶
Commande¶
!!!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
COLUMNspécifie les attributs d’affichage pour une colonne donnée. (Référence et guide de l’utilisateur Oracle SQL Plus)
Syntaxe Oracle¶
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¶
Commande¶
COLUMN column_id ALIAS col_id NOPRINT
SnowSQL (client CLI)¶
Commande¶
!!!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
DEFINEspé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)
Syntaxe Oracle¶
DEF[INE] [variable] | [variable = text]
SnowSQL (CLI Client) !define¶
!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¶
Hint
Ce cas est équivalent sur le plan fonctionnel.
La commande DEFINE est remplacée par la commande !define.
Oracle¶
Commande¶
DEFINE column_id = test
DEFINE column_id = &column_reference
SnowSQL (client CLI)¶
Commande¶
!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¶
Commande¶
DEFINE column_id
SnowSQL (client CLI)¶
Commande¶
!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 :
Commande¶
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 :
Commande¶
!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
HOSTexécute une commande du système d’opérateur sans quitter SQL*Plus. (Référence et guide de l’utilisateur Oracle SQL Plus)
Syntaxe Oracle¶
HO[ST] [command]
SnowSQL (CLI Client) !system¶
!system <command>
1. Set with simple variable assignment¶
Hint
Ce cas est équivalent sur le plan fonctionnel.
La commande HOST est remplacée par la commande !system.
Oracle¶
Commande¶
HOST dir *.sql
SnowSQL (client CLI)¶
Commande¶
!system dir *.sql
Problèmes connus¶
Aucun problème connu.
EWIs connexes¶
Pas d’EWIs connexes.
Prompt¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande
PROMPTenvoie le message spécifié ou une ligne vide à l’écran de l’utilisateur. Si vous omettez un texte,PROMPTaffiche une ligne vierge sur l’écran de l’utilisateur. (Référence et guide de l’utilisateur Oracle SQL Plus)
Syntaxe Oracle¶
PRO[MPT] [text]
SnowSQL (CLI Client) !print¶
!print [text]
1. Simple print¶
La commande PROMPT est remplacée par la commande !print.
Hint
Ce cas est équivalent sur le plan fonctionnel.
Oracle¶
Commande¶
PROMPT
PROMPT text
PROMPT db_link_name = "&1"
SnowSQL (client CLI)¶
Commande¶
!print
!print text
!print db_link_name = "&1"
Problèmes connus¶
Aucun problème connu
EWIs connexes¶
Pas d’EWIs connexes.
Remark¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande
REMARKpermet 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)
Syntaxe Oracle¶
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¶
Hint
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¶
Commande¶
SELECT 'hello world' FROM dual;
REMARK and now exit the session
EXIT;
SnowSQL (client CLI)¶
Commande¶
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¶
Commande¶
REMARK single line
REMARK first line
HOST dir *.sql
REMARK first line
SELECT 'hello world' FROM dual;
SnowSQL (client CLI)¶
Commande¶
!!!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
SETdé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)
Syntaxe Oracle¶
SET system_variable value
SnowSQL (CLI Client) !set¶
!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¶
Hint
Ce cas est équivalent sur le plan fonctionnel.
La commande SET est remplacée par la commande !set.
Oracle¶
Commande¶
SET wrap on
SnowSQL (client CLI)¶
Commande¶
!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¶
Commande¶
SET pagesize
SnowSQL (client CLI)¶
Commande¶
!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)
Syntaxe Oracle¶
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¶
Commande¶
CREATE OR REPLACE PROCEDURE RANCOM_PROC
AS
BEGIN
INSERT INTO NE_TABLE SELECT 1 FROM DUAL;
END;
SHOW ERRORS
Résultat¶
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)¶
Commande¶
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;
Résultat¶
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¶
Commande¶
show all;
Résultat¶
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)¶
Commande¶
!options
Résultat¶
Nom |
Valeur |
Aide |
|---|---|---|
auto_complétion |
Vrai |
Affiche des suggestions d’auto-complétion pour les commandes et les objets Snowflake |
client_session_keep_alive |
Faux |
Garde la session active indéfiniment, même s’il n’y a aucune activité de l’utilisateur. |
client_store_temporary_credential |
Faux |
Permets aux utilisateurs Linux d’utiliser un fichier temporaire pour stocker des ID_TOKEN. |
connection_options |
{} |
Définit des paramètres de connexion arbitraires dans les connexions de connecteur Python sous-jacentes. |
echo |
Faux |
Génère la commande SQL vers le terminal lors de son exécution |
editor |
vim |
Change l’éditeur à utiliser pour la commande !edit |
empty_for_null_in_tsv |
Faux |
Sortie d’une chaîne vide pour les valeurs NULL dans le format TSV |
environment_variables |
[] |
Spécifie les variables d’environnement à définir dans les variables SnowSQL. |
Les noms des variables doivent être séparés par des virgules. |
||
execution_only |
Faux |
Exécute les requêtes uniquement. Aucune donnée ne sera récupérée |
exit_on_error |
Faux |
Quitte lorsque SnowSQL rencontre une erreur |
fix_parameter_precedence |
Vrai |
Corrige la priorité du paramètre de connexion dans l’ordre 1) Variables d’environnement, 2) Paramètres de connexion, 3) Paramètres de connexion par défaut. |
force_put_overwrite |
Faux |
Force OVERWRITE=true pour PUT. Il s’agit d’atténuer le problème de cohérence éventuel de S3. |
friendly |
Vrai |
Affiche le texte d’annonce et les messages d’au revoir |
header |
Vrai |
Sortie de l’en-tête dans les résultats de la requête |
insecure_mode |
Faux |
Désactive les vérifications de certificat OSCP |
key_bindings |
emacs |
Modifie les raccourcis clavier pour naviguer dans l’invite vers emacs ou vi |
log_bootstrap_file |
../snowsql_lt.log_bo.. |
Emplacement du fichier journal Bootstrap SnowSQL |
log_file |
../snowsql_rt.log |
Emplacement du fichier journal principal SnowSQL |
log_level |
DEBUG |
Change du niveau de journalisation (critique, débogage, informations, erreur, avertissement) |
login_timeout |
120 |
Délai de déconnexion en secondes. |
noup |
Faux |
Désactive la mise à niveau automatique de Snowsql |
ocsp_fail_open |
Vrai |
Définit le mode d’échec d’ouverture pour les échecs OCSP. Pour obtenir de l’aide, consultez la documentation. |
output_file |
Aucun(e) |
Écrit la sortie dans le fichier spécifié en plus du terminal. |
output_format |
psql |
Définit le format de sortie des résultats de la requête. |
paging |
Faux |
Permet d’activer la pagination pour mettre la sortie en pause en fonction de la hauteur de l’écran. |
progress_bar |
Vrai |
Affiche la barre de progression lors du transfert de données. |
prompt_format |
[user]#[warehouse]@[.. |
Définit le format d’invite. Pour obtenir de l’aide, consultez la documentation |
quiet |
Faux |
Masque toute la sortie |
remove_comments |
Faux |
Supprime les commentaires avant d’envoyer la requête à Snowflake |
remove_trailing_semicolons |
Faux |
Supprime les points-virgules de fin d’un texte SQL avant d’envoyer des requêtes à Snowflake. |
results |
Vrai |
Si l’option est désactivée, les requêtes seront envoyées de manière asynchrone, mais aucun résultat ne sera récupéré. |
Utilisez !queries pour vérifier le statut. |
||
rowset_size |
1000 |
Définit la taille des ensembles de lignes à récupérer du serveur. |
Définissez l’option sur bas pour une sortie normale, sur haut pour une sortie rapide. |
||
sfqid |
Faux |
Active/désactive l’identifiant de requête Snowflake dans le résumé. |
sfqid_in_error |
Faux |
Active/désactive l’identifiant de requête Snowflake dans le message d’erreur |
sql_delimiter |
; |
Définit quel mot-clé réservé sépare les instructions SQL les unes des autres. |
sql_split |
snowflake.connector… |
Permet de choisir l’implémentation du séparateur SQL. Actuellement snowflake.connector.util_text, ou snowflake.cli.sqlsplit. |
stop_on_error |
Faux |
Arrête toutes les requêtes encore en cours d’exécution lorsque SnowSQL rencontre une erreur |
syntax_style |
par défaut |
Définit les couleurs du texte de SnowSQL. |
timing |
Vrai |
Active/désactive le temps d’exécution pour chaque requête |
timing_in_output_file |
Faux |
inclut le minutage dans le fichier de sortie. |
variable_substitution |
Faux |
Remplace les variables (commençant par “&”) par des valeurs |
version |
1.2.24 |
Version SnowSQL : |
wrap |
Vrai |
Tronque des lignes à la largeur de l’écran du terminal |
———————————– |
———————— |
———————————————————————————————————————————————– |
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
SPOOLstocke 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)
Syntaxe Oracle¶
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¶
Hint
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¶
Commande¶
SPOOL temp
SPOOL temp.txt
SnowSQL (client CLI)¶
Commande¶
!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¶
Commande¶
SPOOL temp.txt CREATE
SPOOL temp.txt APPEND
SPOOL temp.txt REPLACE
SnowSQL (client CLI)¶
Commande¶
!spool temp.txt
!spool temp.txt
!system del temp.txt
!spool temp.txt
3. Spool turn off¶
Hint
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¶
Commande¶
SPOOL OFF
SPOOL OUT
SnowSQL (client CLI)¶
Commande¶
!spool off
!spool off
Problèmes connus¶
Aucun problème connu.
EWIs connexes¶
Pas d’EWIs connexes.
Début¶
Avertissement
La transformation de cette commande est en attente
Description¶
La commande
STARTexé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)
Syntaxe Oracle¶
STA[RT] {url | file_name[.ext] } [arg...]
SnowSQL (CLI Client) !load¶
!(load | source) {url | file_name[.ext] }
1. Simple start¶
La commande START est remplacée par la commande !load.
Hint
Ce cas est équivalent sur le plan fonctionnel.
Oracle¶
Commande¶
START C:\Users\My_User\Desktop\My\Path\insert_script.sql
SnowSQL (client CLI)¶
Commande¶
!load C:\Users\My_User\Desktop\My\Path\insert_script.sql
2. Start with arguments¶
Oracle¶
Commande¶
START C:\Users\My_User\Desktop\My\Path\insert_script.sql 123 456 789
SnowSQL (client CLI)¶
Commande¶
!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 OSERROReffectue 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)
Syntaxe Oracle¶
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¶
Commande¶
WHENEVER OSERROR EXIT
SnowSQL (client CLI)¶
Commande¶
!!!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 SQLERRORexé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)
Syntaxe Oracle¶
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¶
Commande¶
WHENEVER SQLERROR EXIT
SnowSQL (client CLI)¶
Commande¶
!!!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.