SnowConvert: Oracle SQL PLus¶
Aceitar¶
Aviso
A transformação para esse comando está pendente
Descrição¶
Lê uma linha de entrada e a armazena em uma determinada variável de substituição. (Guia do usuário e referência do 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]
O Snowflake não tem um equivalente direto a esse comando. Para emular essa funcionalidade, o comando SnowCLI!system
será usado, aproveitando os recursos do sistema para as operações de entrada.
1. Accept command¶
Oracle¶
ACCEPT variable_name CHAR PROMPT 'Enter the variable value >'
SnowSQL (cliente 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
Aviso
Observe que essa abordagem só se aplica a MacOs e Linux. Se quiser executar essas consultas no Windows, você pode precisar de um terminal que suporte a linguagem de script bash do Linux.
Problemas conhecidos¶
Nenhum problema conhecido.
Append¶
Aviso
A transformação para esse comando está pendente
Descrição¶
Adiciona o texto especificado ao final da linha atual no buffer SQL. (Guia do Usuário e Referência do Oracle SQL Plus)
A[PPEND] text
O Snowflake não tem um equivalente direto a esse comando. O comando Snowflake !edit
pode ser usado para editar a última consulta usando um editor de texto predefinido. Embora essa abordagem não abranja todas as funcionalidades de APPPEND
, ela é uma alternativa.
1. Append command¶
Oracle¶
APPEND SOME TEXT
SnowSQL (cliente CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'APPEND STATEMENT' NODE ***/!!!
APPEND SOME TEXT;
Problemas conhecidos¶
Nenhum problema conhecido.
EWIs relacionados¶
SSC-EWI-0073: Revisão de equivalência funcional pendente.
Archive Log¶
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando ARCHIVE LOG
exibe informações sobre arquivos de registro de refazer. (Guia do usuário e referência do Oracle SQL Plus)
ARCHIVE LOG LIST
O Snowflake não tem um equivalente direto a esse comando. O comando Snowflake !options
pode ser usado para exibir o caminho do local de alguns arquivos de registro; no entanto, ele não está totalmente em conformidade com o comportamento esperado pelo comando ARCHIVE LOG
. No momento da transformação, um EWI será adicionado.
1. Archive Log command¶
Oracle¶
ARCHIVE LOG LIST
SnowSQL (cliente CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'ARCHIVE LOG STATEMENT' NODE ***/!!!
ARCHIVE LOG LIST;
Problemas conhecidos¶
Nenhum problema conhecido.
EWIs relacionados¶
SSC-EWI-0073: Revisão de equivalência funcional pendente.
Atributo¶
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando ATTRIBUTE
especifica as características de exibição de um determinado atributo de uma coluna Object Type. (Guia do usuário e referência do Oracle SQL Plus)
ATTR[IBUTE] [type_name.attribute_name [option ...]]
O Snowflake não tem um equivalente direto a esse comando.
1. Attribute command¶
Oracle¶
ATTRIBUTE Address.street_address FORMAT A10
SnowSQL (cliente CLI)¶
-- ** MSC-WARNING - MSCEWI3... - ATTRIBUTE SQL*PLUS COMMAND IS NOT CURRENTLY SUPPORTED BY SNOWFLAKE. **
--ATTRIBUTE Address.street_address FORMAT A10
Aviso
O código para o EWI ainda não está definido.
Problemas conhecidos¶
1. O SnowSQL pode definir o formato de uma coluna
Atualmente, o SnowSQL não oferece suporte a tipos personalizados nem tem um comando para formatar colunas. No entanto, você pode usar a seguinte solução alternativa para formatar colunas no resultado da consulta:
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');
Essa solução alternativa deve considerar uma estratégia adicional para desativar quando, no Oracle, o comando ATTRIBUTE
receber a opção OFF.
EWIs relacionados¶
Sem EWIs relacionados.
Break¶
Aviso
A transformação para esse comando está pendente
Descrição¶
Especifica onde as alterações ocorrem em um relatório e a ação de formatação a ser executada. (Guia do Usuário e Referência do 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]]
O Snowflake não oferece suporte ao uso desse comando e não tem nenhum que possa se assemelhar à sua funcionalidade. No momento da transformação, um EWI será adicionado.
1. BREAK command¶
Oracle¶
BREAK ON customer_age SKIP 5 DUPLICATES;
SnowSQL (cliente CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'BREAK STATEMENT' NODE ***/!!!
BREAK ON customer_age SKIP 5 DUPLICATES;
Problemas conhecidos¶
Nenhum problema conhecido.
EWIs relacionados¶
SSC-EWI-0073: Revisão de equivalência funcional pendente.
Btitle¶
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando BTITLE
coloca e formata um título especificado na parte inferior de cada página do relatório ou lista a definição atual de BTITLE. (Guia do Usuário e Referência do Oracle SQL Plus)
BTI[TLE] [printspec [text | variable] ...] | [ON | OFF]
O Snowflake não tem um equivalente direto a esse comando.
1. Btitle command¶
Oracle¶
BTITLE BOLD 'This is the banner title'
SnowSQL (cliente CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'BTITLE STATEMENT' NODE ***/!!!
BTITLE BOLD 'This is the banner title';
Problemas conhecidos¶
1. O SnowSQL não é compatível com a exibição de cabeçalhos e rodapés personalizados na consulta
Atualmente, o SnowSQL não oferece suporte à exibição de cabeçalhos e rodapés personalizados na saída da consulta. No entanto, você pode usar a seguinte solução alternativa para exibir informações de cabeçalho e rodapé na saída da consulta:
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');
Essa solução alternativa deve considerar uma estratégia adicional para desativar quando, no Oracle, o comando BTITLE
receber a opção OFF.
EWIs relacionados¶
SSC-EWI-0073: Revisão de equivalência funcional pendente.
Mudança¶
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando CHANGE
altera a primeira ocorrência do texto especificado na linha atual do buffer. (Guia do usuário e referência do Oracle SQL Plus)
C[HANGE] sepchar old [sepchar [new [sepchar]]]
O Snowflake não tem um equivalente direto a esse comando. O comando Snowflake !edit
pode ser usado para editar a última consulta usando um editor de texto predefinido. Embora essa abordagem não abranja todas as funcionalidades de CHANGE
, ela é uma alternativa.
1. Change command¶
Oracle¶
CHANGE /old/new/
SnowSQL (cliente CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'CHANGE STATEMENT' NODE ***/!!!
CHANGE /old/new/;
Problemas conhecidos¶
1. Cenários sem suporte
O comando CHANGE pode ser apresentado de várias maneiras, sendo que duas delas não são compatíveis com o conversor no momento, e são apresentadas a seguir:
3 WHERE col_id = 1
A inserção de um número de linha seguido de uma cadeia de caracteres substituirá a linha independentemente do texto que segue o número da linha. Esse cenário não é compatível, pois não segue a gramática do comando.
CHANGE/OLD/NEW/
Digite o texto a ser substituído seguido pelo comando sem usar espaços. Esse cenário não é compatível, pois não segue a lógica da tokenização por espaços.
EWIs relacionados¶
SSC-EWI-0073: Revisão de equivalência funcional pendente.
Coluna¶
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando COLUMN
especifica os atributos de exibição de uma determinada coluna. (Guia do usuário e referência do Oracle SQL Plus)
COL[UMN] [{column | expr} [option ...]]
O Snowflake não oferece suporte ao uso desse comando e não tem nenhum que possa se assemelhar à sua funcionalidade. No momento da transformação, um EWI será adicionado.
1. Column command¶
O comando COLUMN
sem cláusulas para listar todos os atributos de exibição de coluna atuais.
Oracle¶
COLUMN column_id ALIAS col_id NOPRINT
SnowSQL (cliente CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'COLUMN STATEMENT' NODE ***/!!!
COLUMN column_id ALIAS col_id NOPRINT;
Problemas conhecidos¶
Nenhum problema conhecido.
EWIs relacionados¶
SSC-EWI-0073: Revisão de equivalência funcional pendente.
Define¶
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando DEFINE
especifica uma variável de usuário ou predefinida e atribui a ela um valor CHAR ou lista o valor e o tipo de variável de uma única variável ou de todas as variáveis. (Guia do Usuário e Referência do Oracle SQL Plus)
DEF[INE] [variable] | [variable = text]
!define [variable] | [variable=text]
Nota
O Snowflake recomenda não adicionar espaços em branco na instrução de atribuição de valor de variável.
1. Define with simple variable assignment¶
Esse caso é funcionalmente equivalente.
O comando DEFINE
é substituído pelo comando !define
.
Oracle
DEFINE column_id = test
DEFINE column_id = &column_reference
SnowSQL (CLI Client)
!define column_id = test
!define column_id = &column_reference
Para fazer referência a uma variável definida anteriormente, & é precedido pelo nome da variável; se a variável não existir, o Oracle permite sua atribuição em tempo de execução; no entanto, o Snowflake lançaria um erro indicando a inexistência da referida variável
2. Define without variable assignments
Aviso
Esse caso não é funcionalmente equivalente.
Oracle¶
DEFINE column_id
SnowSQL (cliente CLI)¶
!define column_id
O comando DEFINE usado sem a instrução de atribuição é usado no Oracle para mostrar a definição da variável; por outro lado, no Snowflake, essa maneira de usar o comando DEFINE redefiniria a atribuição da variável, portanto, uma maneira de simular o comportamento apresentado no Oracle é usar o comando SELECT.
Essa solução seria mais ou menos assim:
select '&column_id';
Problemas conhecidos¶
1. Habilitação da substituição de variáveis
Para permitir que o SnowSQL CLI substitua os valores das variáveis, você deve definir a opção de configuração variable_substitution como true. Esse processo pode ser feito na instalação, ao iniciar uma instância de banco de dados ou executando o seguinte comando:
!set variable_substitution=true
2. Variáveis predefinidas
Há nove variáveis predefinidas durante a instalação do SQL*Plus. Essas variáveis podem ser usadas posteriormente pelo usuário. O cliente SnowSQL CLI tem apenas duas variáveis predefinidas __ROWCOUNT
e__ SFQID
.
Host¶
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando HOST
executa um comando do sistema operacional sem sair do SQL*Plus. (Guia do usuário e referência do Oracle SQL Plus)
HO[ST] [command]
!system <command>
1. Set with simple variable assignment¶
Esse caso é funcionalmente equivalente.
O comando HOST
é substituído pelo comando !system
.
Oracle
HOST dir *.sql
SnowSQL (CLI Client)
!system dir *.sql
Known Issues
Nenhum problema conhecido.
Related EWIs
Sem EWIs relacionados.
Prompt
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando PROMPT
envia a mensagem especificada ou uma linha em branco para a tela do usuário. Se o usuário omitir um texto, PROMPT
exibirá uma linha em branco na tela do usuário. (Guia do usuário e referência do Oracle SQL Plus)
PRO[MPT] [text]
!print [text]
1. Simple print¶
O comando PROMPT
é substituído pelo comando !print
.
Esse caso é funcionalmente equivalente.
Oracle
PROMPT
PROMPT text
PROMPT db_link_name = "&1"
SnowSQL (CLI Client)
!print
!print text
!print db_link_name = "&1"
Known Issues
Nenhum problema conhecido
Related EWIs
Sem EWIs relacionados.
Remark
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando REMARK
inicia um comentário em um script. O SQL*Plus não interpreta o comentário como um comando. (Guia do usuário e referência do Oracle SQL Plus)
REM[ARK] comment
O Snowflake não tem um equivalente direto para esse comando. No entanto, algumas de suas funcionalidades podem ser emuladas.
1. Remark after the first line¶
Esse caso é funcionalmente equivalente.
Quando o comando REMARK
não estiver no início de um script, você poderá usar os marcadores de comentário padrão SQL e hífens duplos.
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
Aviso
Esse caso não é funcionalmente equivalente.
Quando o comando REMARK
está no início de um script, podem aparecer cenários como o seguinte:
Caso 1: A próxima linha é uma consulta e, nesse caso, a conversão para Snowflake do comando REMARK
é bem-sucedida.
Caso 2: A próxima linha é outro comando do SQL*Plus e, nesse caso, a conversão não pode ser realizada, pois o Snowflake não é capaz de executar nenhum dos dois comandos (isso também se aplica ao cenário em que há apenas uma instrução na instrução de script que corresponde ao comando REMARK
).
Abaixo estão alguns exemplos, em que os dois primeiros não puderam ser convertidos corretamente.
Oracle¶
REMARK single line
REMARK first line
HOST dir *.sql
REMARK first line
SELECT 'hello world' FROM dual;
SnowSQL (cliente 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;
Problemas conhecidos¶
Nenhum problema conhecido.
EWIs relacionados¶
SSC-EWI-0073: Revisão de equivalência funcional pendente.
Definir¶
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando SET
define uma variável de sistema para alterar as configurações de ambiente do SQL*Plus para sua sessão atual. (Guia do usuário e referência do Oracle SQL Plus)
SET system_variable value
!set <option>=<value>
Nota
O Snowflake recomenda não adicionar espaços em branco na instrução de atribuição de valor de variável.
1. Set with simple variable assignment¶
Esse caso é funcionalmente equivalente.
O comando SET
é substituído pelo comando !set
.
Oracle
SET wrap on
SnowSQL (CLI Client)
!set wrap=true
2. Define without variable assignments
Aviso
Esse caso não é funcionalmente equivalente.
O Oracle permite ignorar a regra de valor-chave para atribuir valores a variáveis de sistema com um domínio numérico, atribuindo o valor 0 por padrão nesses casos. No Snowflake, isso não é permitido, portanto, uma alternativa é definir explicitamente o valor 0 para a referida variável.
Oracle¶
SET pagesize
SnowSQL (cliente CLI)¶
!set rowset_size=0
Problemas conhecidos¶
1. Variáveis predefinidas
O comando SET funciona apenas para variáveis do sistema, que podem diferir em quantidade, nome ou domínio entre as duas linguagens, portanto, é necessário analisar a variável que está sendo usada no comando para encontrar sua equivalência correta no Snowflake. Para ver a lista de variáveis do sistema no Oracle, você pode usar o comando SHOW ALL
, enquanto no Snowflake pode usar !options
.
EWIs relacionados¶
Sem EWIs relacionados.
Show¶
Aviso
A transformação para esse comando está pendente
Descrição¶
Mostra o valor de uma variável de sistema SQLPlus ou o ambiente SQLPlus atual. (Guia do usuário e referência do 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
O Snowflake não tem um equivalente direto para esse comando. No entanto, algumas de suas funcionalidades podem ser emuladas.
1. Show ERRORS¶
Mostra os erros de compilação de um procedimento armazenado (inclui funções, procedimentos e pacotes armazenados). Depois que você usar o comando CREATE para criar um procedimento armazenado, será exibida uma mensagem se o procedimento armazenado tiver algum erro de compilação.
No Snowflake, não é necessário executar uma instrução extra para exibir todos os erros de compilação. Os erros de compilação são exibidos imediatamente ao executar a instrução 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
Nota
Observe que a palavra-chave INTO foi escrita incorretamente para causar um erro de compilação.
SnowSQL (cliente 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¶
Lista as configurações de todas as opções de SHOW, exceto ERRORS e SGA, em ordem alfabética.
Para exibir todas as opções possíveis no SnowCLI, você pode executar o comando !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 (cliente 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 |
+-----------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
Problemas conhecidos¶
1. Não é possível no SnowCLI exibir o valor de uma única opção.
O SnowCLI não oferece uma maneira de exibir o valor de uma opção específica. Você pode usar !options
para observar o valor da opção.
2. A pesquisa está pendente para fazer a correspondência entre cada opção do SQLPLUS e um equivalente no SnowflakeCLI.
Está pendente a definição de um equivalente para cada opção do SQLPLUS.
EWIs relacionados¶
SSC-EWI-0073: Revisão de equivalência funcional pendente.
Spool¶
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando SPOOL
armazena os resultados da consulta em um arquivo ou, opcionalmente, envia o arquivo para uma impressora. (Guia do usuário e referência do Oracle SQL Plus)
SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]
!spool [<file_name>] | [off]
1. Spool without options¶
Esse caso é funcionalmente equivalente.
Quando o comando SPOOL
não é acompanhado de nenhuma opção, por padrão ele cria um novo arquivo com o nome e a extensão especificados. O comando SPOOL
é substituído pelo comando !spool
.
Oracle
SPOOL temp
SPOOL temp.txt
SnowSQL (CLI Client)
!spool temp
!spool temp.txt
2. Spool with write options
Aviso
Esse caso não é funcionalmente equivalente.
O Oracle permite três tipos de opções ao gravar em um arquivo por meio do comando SPOOL
. As opções CREATE e APPEND criam um arquivo para gravação a partir do zero e concatenam o texto ao final de um arquivo existente (ou criam um novo arquivo se ele não existir), respectivamente. O Snowflake não oferece suporte a essas opções; no entanto, seu comportamento padrão é criar um arquivo e, se ele existir, concatenar o texto nele contido. A opção REPLACE, por outro lado, grava no arquivo específico substituindo o conteúdo existente. Para simular esse comportamento no Snowflake, é recomendável excluir o arquivo em que você deseja gravar e começar a gravar novamente, conforme mostrado no código a seguir
Oracle¶
SPOOL temp.txt CREATE
SPOOL temp.txt APPEND
SPOOL temp.txt REPLACE
SnowSQL (cliente CLI)¶
!spool temp.txt
!spool temp.txt
!system del temp.txt
!spool temp.txt
3. Spool turn off¶
Esse caso é funcionalmente equivalente.
O Oracle tem duas opções para desativar o spooling de resultados: OFF e OUT. Ambas têm o objetivo de interromper a rolagem, com a diferença de que a segunda também envia o arquivo para a impressora padrão do computador. Essa opção não está disponível em alguns sistemas operacionais. O Snowflake só tem a opção de desativar o spool de resultados
Oracle
SPOOL OFF
SPOOL OUT
SnowSQL (CLI Client)
!spool off
!spool off
Known Issues
Nenhum problema conhecido.
Related EWIs
Sem EWIs relacionados.
Início
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando START
executa as instruções SQL*Plus no script especificado. O script pode ser chamado a partir do sistema de arquivos local ou de um servidor da Web. (Guia do usuário e referência do Oracle SQL Plus)
STA[RT] {url | file_name[.ext] } [arg...]
!(load | source) {url | file_name[.ext] }
Os comandos do Snowflake !source
e !load
são equivalentes.
1. Simple start¶
O comando START
é substituído pelo comando !load
.
Esse caso é funcionalmente equivalente.
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
Aviso
No momento, os argumentos de script não são compatíveis com o SnowSQL (cliente CLI).
Problemas conhecidos¶
1. Os argumentos não são compatíveis com o cliente SnowSQL CLI
O Oracle pode passar vários argumentos para um script e pode ser acessado com &1, &2 e assim por diante, mas isso não pode ser feito no Cliente SnowSQL CLI. Você pode simular argumentos declarando variáveis com o comando !define
. Lembre-se de que esses valores são definidos globalmente para todos os scripts, portanto, o comportamento pode não ser equivalente.
Essa solução alternativa seria mais ou menos assim:
!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 relacionados¶
Sem EWIs relacionados.
Whenever oserror¶
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando WHENEVER OSERROR
executa a ação especificada (encerra o SQL*Plus por padrão) se ocorrer um erro no sistema operacional. (Guia do usuário e referência do Oracle SQL Plus)
WHENEVER OSERROR {EXIT [SUCCESS | FAILURE | n | variable | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}
O Snowflake não oferece suporte ao uso desse comando e não tem nenhum que possa se assemelhar à sua funcionalidade. No momento da transformação, um EWI será adicionado.
1. Whenever oserror command¶
Oracle¶
WHENEVER OSERROR EXIT
SnowSQL (cliente CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'WHENEVER ERROR STATEMENT' NODE ***/!!!
WHENEVER OSERROR EXIT;
Problemas conhecidos¶
Nenhum problema conhecido.
EWIs relacionados¶
SSC-EWI-0073: Revisão de equivalência funcional pendente.
Whenever sqlerror¶
Aviso
A transformação para esse comando está pendente
Descrição¶
O comando WHENEVER SQLERROR
executa a ação especificada (sai do SQL*Plus por padrão) se um comando SQL ou um bloco PL/SQL gerar um erro. (Guia do usuário e referência do Oracle SQL Plus)
WHENEVER SQLERROR {EXIT [SUCCESS | FAILURE | WARNING | n | variable | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}
O Snowflake não oferece suporte ao uso desse comando e não tem nenhum que possa se assemelhar à sua funcionalidade. No momento da transformação, um EWI será adicionado.
1. Whenever sqlerror command¶
Oracle¶
WHENEVER SQLERROR EXIT
SnowSQL (cliente CLI)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'WHENEVER ERROR STATEMENT' NODE ***/!!!
WHENEVER SQLERROR EXIT;
Problemas conhecidos¶
Nenhum problema conhecido.
EWIs relacionados¶
SSC-EWI-0073: Revisão de equivalência funcional pendente.