SnowConvert: Oracle SQL PLus¶
수락¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
입력 라인을 읽고 지정된 대체 변수에 저장합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료))
ACC[EPT] variable [NUM[BER] | CHAR | DATE | BINARY_FLOAT | BINARY_DOUBLE] [FOR[MAT] format] [DEF[AULT] default] [PROMPT text|NOPR[OMPT]] [HIDE]
Snowflake에는 이 명령과 직접적으로 대응하는 명령이 없습니다. 이 기능을 에뮬레이션하기 위해 입력 작업에 시스템 리소스를 활용하여 SnowCLI!system
명령이 사용됩니다.
1. Accept command¶
Oracle¶
ACCEPT variable_name CHAR PROMPT 'Enter the variable value >'
SnowSQL(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
경고
이 접근법은 MacOs 및 Linux에만 적용됩니다. Windows에서 이러한 쿼리를 실행하려면 Linux bash 스크립트 언어를 지원하는 터미널이 필요할 수 있습니다.
Known Issues¶
알려진 문제 없음.
추가¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
SQL 버퍼의 현재 라인 끝에 지정된 텍스트를 추가합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
A[PPEND] text
Snowflake에는 이 명령과 직접적으로 대응하는 명령이 없습니다. Snowflake !edit
명령은 미리 정의된 텍스트 편집기를 사용하여 마지막 쿼리를 편집하는 데 사용할 수 있습니다. 이 접근법이 APPPEND
기능을 모두 커버하지는 못하지만 대안이 될 수 있습니다.
1. Append command¶
Oracle¶
APPEND SOME TEXT
SnowSQL(CLI 클라이언트)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'APPEND STATEMENT' NODE ***/!!!
APPEND SOME TEXT;
Known Issues¶
알려진 문제 없음.
관련 EWIs¶
SSC-EWI-0073: 보류 중 함수 동등성 검토.
Archive Log¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
ARCHIVE LOG
명령은 로그 파일 재실행에 대한 정보를 표시합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
ARCHIVE LOG LIST
Snowflake에는 이 명령과 직접적으로 대응하는 명령이 없습니다. Snowflake !options
명령을 사용하여 일부 로그 파일의 위치 경로를 표시할 수 있지만, ARCHIVE LOG
명령에서 예상하는 동작을 완전히 준수하지는 않습니다. 변환 시점에 EWI 가 추가됩니다.
1. Archive Log command¶
Oracle¶
ARCHIVE LOG LIST
SnowSQL(CLI 클라이언트)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'ARCHIVE LOG STATEMENT' NODE ***/!!!
ARCHIVE LOG LIST;
Known Issues¶
알려진 문제 없음.
관련 EWIs¶
SSC-EWI-0073: 보류 중 함수 동등성 검토.
속성¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
ATTRIBUTE
명령은 오브젝트 유형 열의 지정된 특성에 대한 표시 특성을 지정합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
ATTR[IBUTE] [type_name.attribute_name [option ...]]
Snowflake에는 이 명령과 직접적으로 대응하는 명령이 없습니다.
1. Attribute command¶
Oracle¶
ATTRIBUTE Address.street_address FORMAT A10
SnowSQL(CLI 클라이언트)¶
-- ** MSC-WARNING - MSCEWI3... - ATTRIBUTE SQL*PLUS COMMAND IS NOT CURRENTLY SUPPORTED BY SNOWFLAKE. **
--ATTRIBUTE Address.street_address FORMAT A10
경고
EWI 의 코드는 아직 정의되지 않았습니다.
Known Issues¶
1. SnowSQL 은 열의 형식을 설정할 수 있습니다
현재 SnowSQL 은 사용자 정의 유형을 지원하지 않으며 열 형식을 지정하는 명령도 없습니다. 그러나 다음 해결 방법을 사용하여 쿼리 결과의 열 형식을 지정할 수 있습니다.
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');
이 대체 솔루션은 Oracle에서 ATTRIBUTE
명령이 OFF 옵션을 받을 때 비활성화할 수 있는 추가 전략을 고려해야 합니다.
관련 EWIs¶
관련 EWIs 없음.
줄 나누기¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
보고서에서 변경이 발생하는 위치와 수행할 형식 지정 작업을 지정합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
BRE[AK] [ON report_element [action [action]]] ...
report_element := {column|expr|ROW|REPORT}
action := [SKI[P] n|[SKI[P]] PAGE] [NODUP[LICATES]|DUP[LICATES]]
Snowflake는 이 명령의 사용을 지원하지 않으며 이 명령과 유사한 기능을 가진 명령이 없습니다. 변환 시 EWI 가 추가됩니다.
1. BREAK command¶
Oracle¶
BREAK ON customer_age SKIP 5 DUPLICATES;
SnowSQL(CLI 클라이언트)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'BREAK STATEMENT' NODE ***/!!!
BREAK ON customer_age SKIP 5 DUPLICATES;
Known Issues¶
알려진 문제 없음.
관련 EWIs¶
SSC-EWI-0073: 보류 중 함수 동등성 검토.
Btitle¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
BTITLE
명령은 각 보고서 페이지의 하단에 지정된 제목을 배치하고 형식을 지정하거나 현재 BTITLE 정의를 나열합니다. (Oracle SQL Plus 사용자 가이드 및 참조)
BTI[TLE] [printspec [text | variable] ...] | [ON | OFF]
Snowflake에는 이 명령과 직접적으로 대응하는 명령이 없습니다.
1. Btitle command¶
Oracle¶
BTITLE BOLD 'This is the banner title'
SnowSQL(CLI 클라이언트)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'BTITLE STATEMENT' NODE ***/!!!
BTITLE BOLD 'This is the banner title';
Known Issues¶
1. SnowSQL 은 쿼리에서 사용자 지정 헤더 및 푸터 표시를 지원하지 않습니다
현재 SnowSQL 은 쿼리 출력에서 사용자 정의 헤더 및 푸터 표시를 지원하지 않습니다. 그러나 다음 해결 방법을 사용하여 쿼리 출력에 헤더 및 푸터 정보를 표시할 수 있습니다.
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');
이 대체 솔루션은 Oracle에서 BTITLE
명령이 OFF 옵션을 받을 때 비활성화할 수 있는 추가 전략을 고려해야 합니다.
관련 EWIs¶
SSC-EWI-0073: 보류 중 함수 동등성 검토.
변경¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
CHANGE
명령은 버퍼의 현재 라인에서 지정된 텍스트의 첫 번째 항목을 변경합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
C[HANGE] sepchar old [sepchar [new [sepchar]]]
Snowflake에는 이 명령과 직접적으로 대응하는 명령이 없습니다. Snowflake !edit
명령은 미리 정의된 텍스트 편집기를 사용하여 마지막 쿼리를 편집하는 데 사용할 수 있습니다. 이 접근법이 CHANGE
기능을 모두 커버하지는 못하지만 대안이 될 수 있습니다.
1. Change command¶
Oracle¶
CHANGE /old/new/
SnowSQL(CLI 클라이언트)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'CHANGE STATEMENT' NODE ***/!!!
CHANGE /old/new/;
Known Issues¶
1. 지원되지 않는 시나리오
CHANGE 명령은 다양한 방식으로 표현할 수 있으며, 이 중 현재 변환기에서 지원하지 않는 명령은 아래와 같습니다.
3 WHERE col_id = 1
라인 번호 뒤에 문자열을 입력하면 라인 번호 뒤에 오는 텍스트와 관계없이 해당 라인이 바뀝니다. 이 시나리오는 명령 문법을 따르지 않으므로 지원되지 않습니다.
CHANGE/OLD/NEW/
바꾸려는 텍스트 뒤에 공백을 사용하지 않고 명령을 입력합니다. 이 시나리오는 공백에 의한 토큰화 논리를 따르지 않으므로 지원되지 않습니다.
관련 EWIs¶
SSC-EWI-0073: 보류 중 함수 동등성 검토.
열¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
COLUMN
명령은 지정된 열에 대한 표시 특성을 지정합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
COL[UMN] [{column | expr} [option ...]]
Snowflake는 이 명령의 사용을 지원하지 않으며 이 명령과 유사한 기능을 가진 명령이 없습니다. 변환 시 EWI 가 추가됩니다.
1. Column command¶
절이 없는 COLUMN
명령은 현재 열 표시 특성을 모두 나열합니다.
Oracle¶
COLUMN column_id ALIAS col_id NOPRINT
SnowSQL(CLI 클라이언트)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'COLUMN STATEMENT' NODE ***/!!!
COLUMN column_id ALIAS col_id NOPRINT;
Known Issues¶
알려진 문제 없음.
관련 EWIs¶
SSC-EWI-0073: 보류 중 함수 동등성 검토.
정의¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
DEFINE
명령은 사용자 또는 미리 정의된 변수를 지정하고 CHAR 값을 할당하거나 단일 변수 또는 모든 변수의 값과 변수 유형을 나열합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
DEF[INE] [variable] | [variable = text]
!define [variable] | [variable=text]
참고
변수 값 할당 문에 공백을 추가하지 않는 것이 좋습니다.
1. Define with simple variable assignment¶
이 경우는 기능적으로 동일합니다.
DEFINE
명령은 !define
명령으로 대체됩니다.
Oracle
DEFINE column_id = test
DEFINE column_id = &column_reference
SnowSQL (CLI Client)
!define column_id = test
!define column_id = &column_reference
이전에 정의된 변수를 참조할 때 변수 이름 앞에 &를 붙이면, 해당 변수가 존재하지 않는 경우 Oracle은 실행 시간 할당을 허용하지만, Snowflake는 해당 변수가 존재하지 않음을 나타내는 오류를 throw합니다.
2. Define without variable assignments
경고
이 경우는 기능적으로 동일하지 않습니다.
Oracle¶
DEFINE column_id
SnowSQL(CLI 클라이언트)¶
!define column_id
할당 문없이 사용되는 DEFINE 명령은 Oracle에서 변수의 정의를 보여주기 위해 사용되는 반면, Snowflake에서는 DEFINE 명령을 사용하면 변수의 할당이 초기화되므로 Oracle에서 제시된 동작을 시뮬레이션하는 방법은 SELECT 명령을 사용하는 것입니다.
이 솔루션은 다음과 같습니다.
select '&column_id';
Known Issues¶
1. 변수 대체 활성화하기
SnowSQL CLI 에서 변수 값을 대체할 수 있도록 하려면 variable_substitution 구성 옵션을 true로 설정해야 합니다. 이 프로세스는 설치 시, 데이터베이스 인스턴스를 시작할 때 또는 다음 명령을 실행하여 수행할 수 있습니다.
!set variable_substitution=true
2. 사전 정의 변수
SQL*Plus 설치에는 9개의 사전 정의된 변수가 있습니다. 이러한 변수는 나중에 사용자가 사용할 수 있습니다. SnowSQL CLI 클라이언트에는 __ROWCOUNT
및__ SFQID
의 2개 사전 정의 변수만 있습니다.
호스트¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
HOST
명령은 SQL*Plus를 종료하지 않고 운영 체제 명령을 실행합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
HO[ST] [command]
!system <command>
1. Set with simple variable assignment¶
이 경우는 기능적으로 동일합니다.
HOST
명령은 !system
명령으로 대체됩니다.
Oracle
HOST dir *.sql
SnowSQL (CLI Client)
!system dir *.sql
Known Issues
알려진 문제 없음.
Related EWIs
관련 EWIs 없음.
프롬프트
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
PROMPT
명령은 지정된 메시지 또는 빈 라인을 사용자 화면에 보냅니다. 텍스트를 생략하면 PROMPT
는 사용자 화면에 빈 라인을 표시합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
PRO[MPT] [text]
!print [text]
1. Simple print¶
PROMPT
명령은 !print
명령으로 대체됩니다.
이 경우는 기능적으로 동일합니다.
Oracle
PROMPT
PROMPT text
PROMPT db_link_name = "&1"
SnowSQL (CLI Client)
!print
!print text
!print db_link_name = "&1"
Known Issues
알려진 문제 없음
Related EWIs
관련 EWIs 없음.
Remark
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
REMARK
명령은 스크립트에서 설명을 시작합니다. SQL*Plus는 설명을 명령으로 해석하지 않습니다. (Oracle SQL Plus 사용자 가이드 및 참조))
REM[ARK] comment
Snowflake에는 이 명령에 해당하는 직접적인 대체어가 없습니다. 그러나 일부 함수는 에뮬레이션할 수 있습니다.
1. Remark after the first line¶
이 경우는 기능적으로 동일합니다.
REMARK
명령이 스크립트 시작 부분에 없는 경우 표준 SQL 설명 마커와 이중 하이픈을 사용할 수 있습니다.
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
경고
이 경우는 기능적으로 동일하지 않습니다.
REMARK
명령이 스크립트 시작 부분에 있는 경우 다음과 같은 시나리오가 나타날 수 있습니다.
사례 1: 다음 라인은 쿼리이며, 이 경우 REMARK
명령의 Snowflake로 변환이 성공합니다.
사례 2: 다음 라인은 또 다른 SQL* Plus 명령이며, 이 경우 Snowflake가 두 문을 실행할 수 없으므로 변환을 수행할 수 없습니다(이는 스크립트 문에 REMARK
명령에 해당하는 문이 하나만 있는 시나리오에도 적용됩니다).
아래는 처음 2개가 올바르게 변환되지 않은 몇 가지 예입니다.
Oracle¶
REMARK single line
REMARK first line
HOST dir *.sql
REMARK first line
SELECT 'hello world' FROM dual;
SnowSQL(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;
Known Issues¶
알려진 문제 없음.
관련 EWIs¶
SSC-EWI-0073: 보류 중 함수 동등성 검토.
세트¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
SET
명령은 시스템 변수를 설정하여 현재 세션의 SQL*Plus 환경 설정을 변경합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
SET system_variable value
!set <option>=<value>
참고
변수 값 할당 문에 공백을 추가하지 않는 것이 좋습니다.
1. Set with simple variable assignment¶
이 경우는 기능적으로 동일합니다.
SET
명령은 !set
명령으로 대체됩니다.
Oracle
SET wrap on
SnowSQL (CLI Client)
!set wrap=true
2. Define without variable assignments
경고
이 경우는 기능적으로 동일하지 않습니다.
Oracle에서는 숫자 도메인을 가진 시스템 변수에 값을 할당할 때 키-값 규칙을 우회하여 이러한 경우 기본값을 0으로 할당할 수 있습니다. Snowflake에서는 이 기능이 허용되지 않으므로 해당 변수에 0 값을 명시적으로 설정하는 것이 대안이 될 수 있습니다.
Oracle¶
SET pagesize
SnowSQL(CLI 클라이언트)¶
!set rowset_size=0
Known Issues¶
1. 사전 정의 변수
SET 명령은 두 언어 간에 수량, 이름 또는 도메인이 다를 수 있는 시스템 변수에 대해서만 작동하므로 명령 내에서 사용 중인 변수를 검토하여 올바른 Snowflake 등가성을 찾아야 합니다. Oracle에서 시스템 변수 목록을 보려면 SHOW ALL
명령을 사용할 수 있고, Snowflake에서는 !options
을 사용할 수 있습니다.
관련 EWIs¶
관련 EWIs 없음.
Show¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
SQLPlus 시스템 변수 또는 현재 SQLPlus 환경의 값을 표시합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
SHO[W] system_variable ALL BTI[TLE] CON_ID CON_NAME EDITION ERR[ORS] [ {ANALYTIC VIEW | ATTRIBUTE DIMENSION | HIERARCHY | FUNCTION | PROCEDURE | PACKAGE | PACKAGE BODY | TRIGGER | VIEW | TYPE | TYPE BODY | DIMENSION | JAVA CLASS } [schema.]name]HISTORY LNO LOBPREF[ETCH] PARAMETER[S] [parameter_name] PDBS PNO RECYC[LEBIN] [original_name] REL[EASE] REPF[OOTER] REPH[EADER] ROWPREF[ETCH] SGA SPOO[L] SPPARAMETER[S] [parameter_name] SQLCODE STATEMENTC[ACHE] TTI[TLE] USER XQUERY
Snowflake에는 이 명령에 해당하는 직접적인 대체어가 없습니다. 그러나 일부 함수는 에뮬레이션할 수 있습니다.
1. Show ERRORS¶
저장 프로시저(저장 함수, 프로시저 및 패키지 포함)의 컴파일 오류를 표시합니다. CREATE 명령을 사용하여 저장 프로시저를 생성한 후 저장 프로시저에 컴파일 오류가 있는 경우 메시지가 표시됩니다.
Snowflake에서는 모든 컴파일 오류를 표시하기 위해 추가 문을 수행할 필요가 없습니다. 컴파일 오류는 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
참고
INTO 키워드의 철자가 잘못되어 컴파일 오류가 발생할 수 있습니다.
SnowSQL(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¶
ERRORS 및 SGA 를 제외한 모든 SHOW 옵션의 설정을 알파벳 순서로 나열합니다.
SnowCLI 에서 가능한 모든 옵션을 표시하려면 !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(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 |
+-----------------------------------+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+
Known Issues¶
1. SnowCLI 에서는 단일 옵션의 값을 표시할 수 없습니다.
SnowCLI 는 특정 옵션의 값을 표시하는 방법을 제공하지 않습니다. !options
을 사용하여 옵션의 값을 확인할 수 있습니다.
2. 각 SQLPLUS 옵션을 SnowflakeCLI 옵션과 일치시키기 위한 작업은 보류 중입니다.
각 SQLPLUS 옵션에 대한 동등한 정의를 보류 중입니다.
관련 EWIs¶
SSC-EWI-0073: 보류 중 함수 동등성 검토.
Spool¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
SPOOL
명령은 쿼리 결과를 파일에 저장하거나 선택적으로 파일을 프린터로 보냅니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]
!spool [<file_name>] | [off]
1. Spool without options¶
이 경우는 기능적으로 동일합니다.
SPOOL
명령에 옵션을 함께 사용하지 않으면 기본적으로 지정된 이름과 확장자를 사용하여 새 파일을 생성합니다. SPOOL
명령은 !spool
명령으로 대체됩니다.
Oracle
SPOOL temp
SPOOL temp.txt
SnowSQL (CLI Client)
!spool temp
!spool temp.txt
2. Spool with write options
경고
이 경우는 기능적으로 동일하지 않습니다.
Oracle은 SPOOL
명령을 통해 파일에 쓸 때 3가지 유형의 옵션을 허용하며 및 APPEND 옵션은 각각 처음부터 쓰기 위한 파일을 생성하고 기존 파일의 끝에 텍스트를 연결합니다(또는 존재하지 않는 경우 새 파일을 생성합니다). Snowflake는 이러한 옵션을 지원하지 않지만 기본 동작은 파일을 생성하고 파일이 있는 경우 그 안에 있는 텍스트를 연결하는 것입니다. 반면 REPLACE 옵션은 기존 내용을 대체하는 특정 파일에 씁니다. Snowflake에서 이 동작을 시뮬레이션하려면 다음 코드와 같이 작성하려는 파일을 삭제하고 다시 작성을 시작하는 것이 좋습니다
Oracle¶
SPOOL temp.txt CREATE
SPOOL temp.txt APPEND
SPOOL temp.txt REPLACE
SnowSQL(CLI 클라이언트)¶
!spool temp.txt
!spool temp.txt
!system del temp.txt
!spool temp.txt
3. Spool turn off¶
이 경우는 기능적으로 동일합니다.
Oracle에는 결과 스풀링을 끄는 두 가지 옵션(OFF 및 OUT)이 있습니다. 두 옵션 모두 롤링을 중지하는 것이지만, 두 번째 옵션은 파일을 컴퓨터의 표준(기본) 프린터로도 보낸다는 차이점이 있습니다. 이 옵션은 일부 운영 체제에서는 사용할 수 없습니다. Snowflake에는 결과 스풀링을 끄는 옵션만 있습니다
Oracle
SPOOL OFF
SPOOL OUT
SnowSQL (CLI Client)
!spool off
!spool off
Known Issues
알려진 문제 없음.
Related EWIs
관련 EWIs 없음.
시작
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
START
명령은 지정된 스크립트에서 SQL* Plus 문을 실행합니다. 스크립트는 로컬 파일 시스템 또는 웹 서버에서 호출할 수 있습니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
STA[RT] {url | file_name[.ext] } [arg...]
!(load | source) {url | file_name[.ext] }
Snowflake !source
및 !load
명령은 동일합니다.
1. Simple start¶
START
명령은 !load
명령으로 대체됩니다.
이 경우는 기능적으로 동일합니다.
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
경고
현재 SnowSQL (CLI 클라이언트)에는 스크립트 인자가 지원되지 않습니다.
Known Issues¶
1. SnowSQL CLI 클라이언트에서는 인자가 지원되지 않습니다
Oracle은 스크립트에 여러 인자를 전달할 수 있으며 &1, &2 등을 사용하여 액세스할 수 있지만, SnowSQL CLI 클라이언트에서는 이 작업을 수행할 수 없습니다. !define
명령으로 변수를 선언하여 인자를 시뮬레이션할 수 있습니다. 이러한 값은 모든 스크립트에 대해 전역적으로 정의되므로 동작이 동일하지 않을 수 있다는 점에 유의하십시오.
이 해결 방법은 다음과 같습니다.
!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¶
관련 EWIs 없음.
Whenever oserror¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
WHENEVER OSERROR
명령은 운영 체제 오류가 발생하면 지정된 작업을 수행합니다(기본적으로 SQL*Plus를 종료). (Oracle SQL Plus 사용자 가이드 및 참고 자료)
WHENEVER OSERROR {EXIT [SUCCESS | FAILURE | n | variable | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}
Snowflake는 이 명령의 사용을 지원하지 않으며 이 명령과 유사한 기능을 가진 명령이 없습니다. 변환 시 EWI 가 추가됩니다.
1. Whenever oserror command¶
Oracle¶
WHENEVER OSERROR EXIT
SnowSQL(CLI 클라이언트)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'WHENEVER ERROR STATEMENT' NODE ***/!!!
WHENEVER OSERROR EXIT;
Known Issues¶
알려진 문제 없음.
관련 EWIs¶
SSC-EWI-0073: 보류 중 함수 동등성 검토.
Whenever sqlerror¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
WHENEVERSQLERROR
명령은 SQL 명령 또는 PL/SQL 블록이 오류를 생성하는 경우 지정된 작업을 수행합니다(기본적으로 SQL*Plus 종료). (Oracle SQL Plus 사용자 가이드 및 참고 자료)
WHENEVER SQLERROR {EXIT [SUCCESS | FAILURE | WARNING | n | variable | :BindVariable] [COMMIT | ROLLBACK] | CONTINUE [COMMIT | ROLLBACK | NONE]}
Snowflake는 이 명령의 사용을 지원하지 않으며 이 명령과 유사한 기능을 가진 명령이 없습니다. 변환 시 EWI 가 추가됩니다.
1. Whenever sqlerror command¶
Oracle¶
WHENEVER SQLERROR EXIT
SnowSQL(CLI 클라이언트)¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'WHENEVER ERROR STATEMENT' NODE ***/!!!
WHENEVER SQLERROR EXIT;
Known Issues¶
알려진 문제 없음.
관련 EWIs¶
SSC-EWI-0073: 보류 중 함수 동등성 검토.