DECLARE(Snowflake Scripting)¶
하나 이상의 Snowflake Scripting 변수, 커서, RESULTSET 또는 예외를 선언합니다.
변수, 커서, RESULTSET, 예외에 대한 자세한 내용은 다음을 참조하십시오.
- 참고 항목:
구문¶
DECLARE
{ <variable_declaration> | <cursor_declaration> | <resultset_declaration> | <exception_declaration> };
[{ <variable_declaration> | <cursor_declaration> | <resultset_declaration> | <exception_declaration> }; ... ]
각 선언 타입에 대한 구문은 아래에서 더 자세히 설명합니다.
변수 선언 구문¶
다음 구문을 사용하여 변수를 선언합니다.
<variable_declaration> ::=
<variable_name> [<type>] [ { DEFAULT | := } <expression>]
여기서:
예:
profit NUMBER(38, 2) := 0;
전체 예는 예 섹션을 참조하십시오.
변수에 대한 자세한 내용은 변수 작업하기 섹션을 참조하십시오.
커서 선언 구문¶
다음 구문을 사용하여 커서를 선언합니다.
<cursor_declaration> ::=
<cursor_name> CURSOR FOR <query>
여기서:
cursor_name
커서에 부여할 이름입니다. 이것은 이 블록에서 아직 사용되지 않은 유효한 Snowflake 식별자 일 수 있습니다. 식별자는
FETCH
와 같은 다른 커서 관련 명령에서 사용됩니다.query
커서가 반복되는 결과 세트를 정의하는 쿼리입니다.
이것은 거의 모든 유효한
SELECT
문일 수 있습니다.
예:
c1 CURSOR FOR SELECT id, price FROM invoices;
커서에 대한 자세한 내용(전체 예 포함)은 커서 작업하기 섹션을 참조하십시오.
RESULTSET 선언 구문¶
다음 구문을 사용하여 RESULTSET를 선언합니다.
<resultset_name> RESULTSET [ { DEFAULT | := } ( <query> ) ] ;
여기서:
resultset_name
RESULTSET에 부여할 이름입니다.
이름은 현재 범위 내에서 고유해야 합니다.
이름은 오브젝트 식별자 에 대한 명명 규칙을 따라야 합니다.
DEFAULT query
또는 .:= query
query
값을 RESULTSET에 할당합니다.
RESULTSET에 대한 자세한 내용(전체 예 포함)은 RESULTSET 작업하기 섹션을 참조하십시오.
예외 선언 구문¶
다음 구문을 사용하여 예외를 선언합니다.
<exception_name> EXCEPTION [ ( <exception_number> , '<exception_message>' ) ] ;
여기서:
exception_name
예외에 부여할 이름입니다.
exception_number
예외를 고유하게 식별하는 번호입니다. 숫자는 -20000에서 -20999 사이의 정수여야 합니다. 이 번호는 동시에 존재하는 다른 예외에 사용되어서는 안 됩니다.
기본값: -20000
exception_message
예외를 설명하는 메시지입니다. 메시지에는 큰따옴표 문자가 포함되어서는 안 됩니다.
기본값: 빈 문자열입니다.
예:
exception_could_not_create_table EXCEPTION (-20003, 'ERROR: Could not create table.');
예외에 대한 자세한 내용(전체 예 포함)은 예외 처리하기 섹션을 참조하십시오.
예¶
DECLARE profit number(38, 2) DEFAULT 0.0; BEGIN LET cost number(38, 2) := 100.0; LET revenue number(38, 2) DEFAULT 110.0; profit := revenue - cost; RETURN profit; END;참고: SnowSQL 또는 Classic Console 을 사용하는 경우 대신 다음 예를 사용하십시오(SnowSQL 및 Classic Console 에서 Snowflake Scripting 사용하기 참조).
EXECUTE IMMEDIATE $$ DECLARE profit number(38, 2) DEFAULT 0.0; BEGIN LET cost number(38, 2) := 100.0; LET revenue number(38, 2) DEFAULT 110.0; profit := revenue - cost; RETURN profit; END; $$ ;