Snowflake Scripting의 일반적인 사용 사례에 대한 예¶
일반적인 사용 사례를 다루는 솔루션에 대해 Snowflake Scripting 언어 요소, 데이터 타입 및 변수를 사용하는 익명 블록 및 저장 프로시저를 작성할 수 있습니다. 이 항목에는 몇 가지 일반적인 사용 사례에 대한 Snowflake Scripting 코드의 예제가 포함되어 있습니다.
사용자 입력을 사용한 테이블 데이터 업데이트¶
다음 예제에서는 사용자 입력으로 테이블 데이터를 업데이트하는 저장 프로시저를 만듭니다. 이 프로시저는 FOR 루프 를 사용하여 테이블의 RESULTSET 에 있는 행을 반복합니다. FOR 루프에는 조건부 논리 가 포함되어 있습니다. 사용자 입력에 기반한 바인드 변수 는 저장 프로시저에서 수행되는 정확한 업데이트를 결정합니다.
이 예제에서는 다음 데이터를 사용합니다.
다음 저장 프로시저는 FOR 루프를 사용하여 bonuses 테이블의 RESULTSET에 있는 행을 반복합니다. 이 저장 프로시저는 지정된 성과 등급을 받은 각 직원의 급여에서 지정된 비율로 보너스를 적용합니다. 그리고 저장 프로시저는 조건 논리를 사용하여 지정된 성과 등급이 있는 직원에게만 보너스를 적용합니다. 또한 입력(bonus_percentage 및 performance_value)을 바인드 변수로 사용합니다.
Note: If you use Snowflake CLI, SnowSQL, the Classic Console, or the
execute_stream or execute_string method in Python Connector
code, use this example instead (see Using Snowflake Scripting in Snowflake CLI, SnowSQL, and Python Connector):
저장 프로시저를 실행하려면 보너스 비율과 성과 등급을 지정합니다. 예를 들어, 저장 프로시저를 호출하고 성과 평가가 5인 직원에게 3%의 보너스를 적용합니다.
결과를 표시하려면 쿼리를 실행합니다.
데이터 필터링 및 수집¶
다음 예제에서는 테이블의 데이터를 필터링하고 수집하는 저장 프로시저를 만듭니다. 이 프로시저에서는 수집된 데이터를 사용하여 다른 테이블에 행을 삽입하여 과거 추세를 추적합니다.
이 예제에서는 가상 머신(VMs)의 소유권 및 설정을 추적하는 다음 데이터를 사용합니다.
회사에서 설정 값이 특정 임계값을 초과할 때 이 테이블의 데이터를 시간 경과에 따라 추적하려는 경우를 가정해 보겠습니다. 다음 저장 프로시저는 vm_settings 테이블의 데이터를 수집하고 필터링한 후, 다음 조건이 충족되면 vm_settings_history 테이블에 행을 삽입합니다.
값이
s1인vm_setting은5보다 작은 값으로 설정됩니다.값이
s2인vm_setting은500보다 큰 값으로 설정됩니다.
vm_settings_history 테이블에 삽입된 행에는 vm_settings 테이블의 모든 열 값과 함께 VM을 소유한 직원의 emp_id 및 현재 날짜가 포함됩니다.
Note: If you use Snowflake CLI, SnowSQL, the Classic Console, or the
execute_stream or execute_string method in Python Connector
code, use this example instead (see Using Snowflake Scripting in Snowflake CLI, SnowSQL, and Python Connector):
저장 프로시저를 호출합니다.
다음 쿼리를 실행하면 프로시저가 vm_settings_history 테이블에 삽입한 데이터를 확인할 수 있습니다.