SnowConvert AI - Oracle - SQL*Plus¶
SQL Plus 문을 SnowSQL(CLI 클라이언트)로 변환하기 위한 변환 참조입니다.
수락¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
입력 라인을 읽고 지정된 대체 변수에 저장합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료))
Oracle 구문¶
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 사용자 가이드 및 참고 자료)
Oracle 구문¶
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 사용자 가이드 및 참고 자료)
Oracle 구문¶
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 사용자 가이드 및 참고 자료)
Oracle 구문¶
ATTR[IBUTE] [type_name.attribute_name [option ...]]
Snowflake에는 이 명령과 직접적으로 대응하는 명령이 없습니다.
1. Attribute command¶
Oracle¶
명령¶
ATTRIBUTE Address.street_address FORMAT A10
SnowSQL(CLI 클라이언트)¶
명령¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'ATTRIBUTE STATEMENT' NODE ***/!!!
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 사용자 가이드 및 참고 자료)
Oracle 구문¶
BRE[AK] [ON report_element [action [action]]] ...
report_element := {column|expr|ROW|REPORT}
action := [SKI[P] n|[SKI[P]] PAGE] [NODUP[LICATES]|DUP[LICATES]]
Snowflake는 이 명령의 사용을 지원하지 않으며 이 명령과 유사한 기능을 가진 명령이 없습니다. 변환 시 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 사용자 가이드 및 참조)
Oracle 구문¶
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 사용자 가이드 및 참고 자료)
Oracle 구문¶
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 사용자 가이드 및 참고 자료)
Oracle 구문¶
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 사용자 가이드 및 참고 자료)
Oracle 구문¶
DEF[INE] [variable] | [variable = text]
SnowSQL(CLI 클라이언트) !define¶
!define [variable] | [variable=text]
참고
변수 값 할당 문에 공백을 추가하지 않는 것이 좋습니다.
1. Define with simple variable assignment¶
Hint
이 경우는 기능적으로 동일합니다.
DEFINE 명령은 !define 명령으로 대체됩니다.
Oracle¶
명령¶
DEFINE column_id = test
DEFINE column_id = &column_reference
SnowSQL(CLI 클라이언트)¶
명령¶
!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 사용자 가이드 및 참고 자료)
Oracle 구문¶
HO[ST] [command]
SnowSQL(CLI 클라이언트) !system¶
!system <command>
1. Set with simple variable assignment¶
Hint
이 경우는 기능적으로 동일합니다.
HOST 명령은 !system 명령으로 대체됩니다.
Oracle¶
명령¶
HOST dir *.sql
SnowSQL(CLI 클라이언트)¶
명령¶
!system dir *.sql
Known Issues¶
알려진 문제 없음.
관련 EWIs¶
관련 EWIs 없음.
프롬프트¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
PROMPT명령은 지정된 메시지 또는 빈 라인을 사용자 화면에 보냅니다. 텍스트를 생략하면PROMPT는 사용자 화면에 빈 라인을 표시합니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
Oracle 구문¶
PRO[MPT] [text]
SnowSQL(CLI 클라이언트) !print¶
!print [text]
1. Simple print¶
PROMPT 명령은 !print 명령으로 대체됩니다.
Hint
이 경우는 기능적으로 동일합니다.
Oracle¶
명령¶
PROMPT
PROMPT text
PROMPT db_link_name = "&1"
SnowSQL(CLI 클라이언트)¶
명령¶
!print
!print text
!print db_link_name = "&1"
Known Issues¶
알려진 문제 없음
관련 EWIs¶
관련 EWIs 없음.
Remark¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
REMARK명령은 스크립트에서 설명을 시작합니다. SQL*Plus는 설명을 명령으로 해석하지 않습니다. (Oracle SQL Plus 사용자 가이드 및 참조))
Oracle 구문¶
REM[ARK] comment
Snowflake에는 이 명령에 해당하는 직접적인 대체어가 없습니다. 그러나 일부 함수는 에뮬레이션할 수 있습니다.
1. Remark after the first line¶
Hint
이 경우는 기능적으로 동일합니다.
REMARK 명령이 스크립트 시작 부분에 없는 경우 표준 SQL 설명 마커와 이중 하이픈을 사용할 수 있습니다.
Oracle¶
명령¶
SELECT 'hello world' FROM dual;
REMARK and now exit the session
EXIT;
SnowSQL(CLI 클라이언트)¶
명령¶
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 사용자 가이드 및 참고 자료)
Oracle 구문¶
SET system_variable value
SnowSQL(CLI 클라이언트) !set¶
!set <option>=<value>
참고
변수 값 할당 문에 공백을 추가하지 않는 것이 좋습니다.
1. Set with simple variable assignment¶
Hint
이 경우는 기능적으로 동일합니다.
SET 명령은 !set 명령으로 대체됩니다.
Oracle¶
명령¶
SET wrap on
SnowSQL(CLI 클라이언트)¶
명령¶
!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 사용자 가이드 및 참고 자료)
Oracle 구문¶
SHO[W] system_variable ALL BTI[TLE] CON_ID CON_NAME EDITION ERR[ORS] [ {ANALYTIC VIEW | ATTRIBUTE DIMENSION | HIERARCHY | FUNCTION | PROCEDURE | PACKAGE | PACKAGE BODY | TRIGGER | VIEW | TYPE | TYPE BODY | DIMENSION | JAVA CLASS } [schema.]name]HISTORY LNO LOBPREF[ETCH] PARAMETER[S] [parameter_name] PDBS PNO RECYC[LEBIN] [original_name] REL[EASE] REPF[OOTER] REPH[EADER] ROWPREF[ETCH] SGA SPOO[L] SPPARAMETER[S] [parameter_name] SQLCODE STATEMENTC[ACHE] TTI[TLE] USER XQUERY
Snowflake에는 이 명령에 해당하는 직접적인 대체어가 없습니다. 그러나 일부 함수는 에뮬레이션할 수 있습니다.
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
결과¶
이름 |
값 |
도움말 |
|---|---|---|
auto_completion |
True |
명령 및 Snowflake 오브젝트에 대한 자동 완성 제안을 표시합니다. |
client_session_keep_alive |
False |
사용자의 활동이 없는 경우에도 세션을 무기한 활성 상태로 유지합니다. |
client_store_temporary_credential |
False |
Linux 사용자가 임시 파일을 사용하여 ID_TOKEN을 저장할 수 있도록 활성화합니다. |
connection_options |
{} |
기본 Python 커넥터 연결에서 임의의 연결 매개 변수를 설정합니다. |
echo |
False |
실행할 때 SQL 명령을 터미널에 출력합니다. |
editor |
vim |
!edit 명령에 사용할 편집기를 변경합니다. |
empty_for_null_in_tsv |
False |
NULL 값에 대한 빈 문자열을 TSV 형식으로 출력합니다. |
environment_variables |
[] |
SnowSQL 변수에 설정할 환경 변수를 지정합니다. |
변수 이름은 쉼표로 구분해야 합니다. |
||
execution_only |
False |
쿼리만 실행합니다. 데이터를 가져오지 않습니다. |
exit_on_error |
False |
SnowSQL에 오류가 발생하는 경우 종료합니다. |
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 |
PUT에 대해 OVERWRITE=true를 적용합니다. 이는 S3의 최종 일관성 문제를 완화하기 위한 것입니다. |
friendly |
True |
시작 텍스트와 마무리 메시지를 표시합니다. |
헤더 |
True |
쿼리 결과에 헤더를 출력합니다. |
insecure_mode |
False |
OSCP 인증서 검사를 끕니다. |
key_bindings |
emacs |
프롬프트를 탐색하기 위한 키 바인딩을 emacs 또는 vi로 변경합니다. |
log_bootstrap_file |
../snowsql_rt.log_bo.. |
SnowSQL 부트스트랩 로그 파일 위치입니다. |
log_file |
../snowsql_rt.log |
SnowSQL 메인 로그 파일 위치입니다. |
log_level |
DEBUG |
로그 수준(위험, 디버그, 정보, 오류, 경고)을 변경합니다. |
login_timeout |
120 |
로그인 시간 제한(초)입니다. |
noup |
False |
Snowsql 자동 업그레이드를 끕니다. |
ocsp_fail_open |
True |
OCSP 실패에 대한 실패 오픈 모드를 설정합니다. 지원이 필요한 경우 설명서를 참조하세요. |
output_file |
없음 |
터미널 출력에 추가하여 지정된 파일에 출력을 작성합니다. |
output_format |
psql |
쿼리 결과의 출력 형식을 설정합니다. |
paging |
False |
페이징을 활성화하여 화면 높이당 출력을 일시 중지합니다. |
progress_bar |
True |
데이터를 전송하는 동안 진행률 표시줄을 표시합니다. |
prompt_format |
[user]#[warehouse]@[.. |
프롬프트 형식을 설정합니다. 지원이 필요한 경우 설명서를 참조하세요. |
quiet |
False |
모든 출력을 숨깁니다. |
remove_comments |
False |
Snowflake에 쿼리를 보내기 전에 주석을 제거합니다. |
remove_trailing_semicolons |
False |
SQL 텍스트에서 후행 세미콜론을 제거한 후 Snowflake로 쿼리를 전송합니다. |
결과 |
True |
해제로 설정하면 쿼리가 비동기적으로 전송되지만 결과는 가져오지 않습니다. |
!queries를 사용하여 상태를 확인합니다. |
||
rowset_size |
1000 |
서버에서 가져올 행 세트의 크기를 설정합니다. |
부드러운 출력을 위해서는 옵션을 낮게 설정하고, 빠른 출력을 위해서는 높게 설정합니다. |
||
sfqid |
False |
요약에서 Snowflake 쿼리 ID를 설정/해제합니다. |
sfqid_in_error |
False |
오류 메시지에서 Snowflake 쿼리 ID를 설정/해제합니다. |
sql_delimiter |
; |
SQL 문을 서로 분할하는 예약 키워드를 정의합니다. |
sql_split |
snowflake.connector… |
SQL 스플리터 구현을 선택합니다. 현재는 snowflake.connector.util_text 또는 snowflake.cli.sqlsplit입니다. |
stop_on_error |
False |
SnowSQL에 오류가 발생한 경우 아직 실행되지 않은 모든 쿼리를 중지합니다. |
syntax_style |
기본값 |
SnowSQL의 텍스트 색상을 설정합니다. |
timing |
True |
각 쿼리에 대한 타이밍을 설정/해제합니다. |
timing_in_output_file |
False |
출력 파일에 타이밍을 포함합니다. |
variable_substitution |
False |
변수(’&’로 시작)를 값으로 대체합니다. |
버전 |
1.2.24 |
SnowSQL 버전 |
wrap |
True |
터미널 화면 너비에서 줄을 자릅니다. |
———————————– |
———————— |
———————————————————————————————————————————————– |
Known Issues¶
1. SnowCLI 에서는 단일 옵션의 값을 표시할 수 없습니다.
SnowCLI 는 특정 옵션의 값을 표시하는 방법을 제공하지 않습니다. !options 을 사용하여 옵션의 값을 확인할 수 있습니다.
2. 각 SQLPLUS 옵션을 SnowflakeCLI 옵션과 일치시키기 위한 작업은 보류 중입니다.
각 SQLPLUS 옵션에 대한 동등한 정의를 보류 중입니다.
관련 EWIs¶
SSC-EWI-0073: 보류 중 함수 동등성 검토.
Spool¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
SPOOL명령은 쿼리 결과를 파일에 저장하거나 선택적으로 파일을 프린터로 보냅니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
Oracle 구문¶
SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]
SnowSQL(CLI 클라이언트) !spool¶
!spool [<file_name>] | [off]
1. Spool without options¶
Hint
이 경우는 기능적으로 동일합니다.
SPOOL 명령에 옵션을 함께 사용하지 않으면 기본적으로 지정된 이름과 확장자를 사용하여 새 파일을 생성합니다. SPOOL 명령은 !spool 명령으로 대체됩니다.
Oracle¶
명령¶
SPOOL temp
SPOOL temp.txt
SnowSQL(CLI 클라이언트)¶
명령¶
!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¶
Hint
이 경우는 기능적으로 동일합니다.
Oracle에는 결과 스풀링을 끄는 두 가지 옵션(OFF 및 OUT)이 있습니다. 두 옵션 모두 롤링을 중지하는 것이지만, 두 번째 옵션은 파일을 컴퓨터의 표준(기본) 프린터로도 보낸다는 차이점이 있습니다. 이 옵션은 일부 운영 체제에서는 사용할 수 없습니다. Snowflake에는 결과 스풀링을 끄는 옵션만 있습니다
Oracle¶
명령¶
SPOOL OFF
SPOOL OUT
SnowSQL(CLI 클라이언트)¶
명령¶
!spool off
!spool off
Known Issues¶
알려진 문제 없음.
관련 EWIs¶
관련 EWIs 없음.
시작¶
경고
이 명령에 대한 변환이 보류 중입니다
설명¶
START명령은 지정된 스크립트에서 SQL* Plus 문을 실행합니다. 스크립트는 로컬 파일 시스템 또는 웹 서버에서 호출할 수 있습니다. (Oracle SQL Plus 사용자 가이드 및 참고 자료)
Oracle 구문¶
STA[RT] {url | file_name[.ext] } [arg...]
SnowSQL(CLI 클라이언트) !load¶
!(load | source) {url | file_name[.ext] }
1. Simple start¶
START 명령은 !load 명령으로 대체됩니다.
Hint
이 경우는 기능적으로 동일합니다.
Oracle¶
명령¶
START C:\Users\My_User\Desktop\My\Path\insert_script.sql
SnowSQL(CLI 클라이언트)¶
명령¶
!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 클라이언트)¶
명령¶
!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 사용자 가이드 및 참고 자료)
Oracle 구문¶
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 사용자 가이드 및 참고 자료)
Oracle 구문¶
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: 보류 중 함수 동등성 검토.