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]

Copy

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

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

Copy

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

Problemas conhecidos

Nenhum problema conhecido.

EWIs relacionados

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

Copy

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

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

Copy

O Snowflake não tem um equivalente direto a esse comando.

1. Attribute command

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

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

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

Copy

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

Problemas conhecidos

Nenhum problema conhecido.

EWIs relacionados

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

Copy

O Snowflake não tem um equivalente direto a esse comando.

1. Btitle command

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

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

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

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

Copy

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

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
Copy

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

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

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

Copy

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

Problemas conhecidos

Nenhum problema conhecido.

EWIs relacionados

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

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

Copy

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

!define column_id = &column_reference
Copy

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

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

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
Copy

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]

Copy
!system <command>

Copy

1. Set with simple variable assignment

Esse caso é funcionalmente equivalente.

O comando HOST é substituído pelo comando !system.

Oracle
 HOST dir *.sql
Copy
SnowSQL (CLI Client)
 !system dir *.sql
Copy

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]

Copy
!print [text]

Copy

1. Simple print

O comando PROMPT é substituído pelo comando !print.

Esse caso é funcionalmente equivalente.

Oracle
 PROMPT

PROMPT text

PROMPT db_link_name = "&1"
Copy
SnowSQL (CLI Client)
 !print

!print text

!print db_link_name = "&1"
Copy

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

Copy

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

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

Problemas conhecidos

Nenhum problema conhecido.

EWIs relacionados

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

Copy
!set <option>=<value>

Copy

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

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

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

Copy

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

Copy

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

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;
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 (cliente 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

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

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

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

Copy

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

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

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

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

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

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

Copy

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

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
Copy

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

Copy

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

Problemas conhecidos

Nenhum problema conhecido.

EWIs relacionados

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

Copy

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

Problemas conhecidos

Nenhum problema conhecido.

EWIs relacionados

  1. SSC-EWI-0073: Revisão de equivalência funcional pendente.