Exemplos de casos de uso comuns do Script Snowflake¶
Você pode escrever blocos anônimos e procedimentos armazenados que usam elementos da linguagem de script Snowflake, tipos de dados e variáveis para soluções que abordam casos de uso comuns. Este tópico inclui exemplos de código de script do Snowflake para alguns casos de uso comuns.
Atualização de dados da tabela com entrada do usuário¶
O exemplo a seguir cria um procedimento armazenado que atualiza os dados da tabela com a entrada do usuário. Ele usa um loop FOR para iterar sobre as linhas em um RESULTSET para a tabela. O loop FOR contém variáveis de vinculação de lógica condicional. <label-snowscript_variables_binding> com base na entrada do usuário, determine as atualizações exatas executadas pelo procedimento armazenado.
O exemplo usa os seguintes dados:
O procedimento armazenado a seguir usa um loop FOR para iterar sobre as linhas em um RESULTSET para a tabela bonuses. Ele aplica o bônus como uma porcentagem especificada do salário de cada funcionário com a classificação de desempenho especificada. O procedimento armazenado usa lógica condicional para aplicar o bônus somente aos funcionários com a classificação de desempenho especificada. Ele também usa as entradas (bonus_percentage e performance_value) como variáveis de vinculação.
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):
Para executar o procedimento armazenado, especifique a porcentagem de bônus e a classificação de desempenho. Por exemplo, chame o procedimento armazenado e aplique um bônus de 3% para funcionários com uma classificação de desempenho de 5:
Execute uma consulta para mostrar os resultados:
Filtro e coleta de dados¶
O exemplo a seguir cria um procedimento armazenado que filtra e coleta os dados em uma tabela. O procedimento insere linhas usando os dados coletados em outra tabela para rastrear tendências históricas.
O exemplo usa os seguintes dados, que rastreiam a propriedade e as configurações das máquinas virtuais (VMs):
Suponha que uma empresa queira rastrear os dados nesta tabela ao longo do tempo quando os valores das configurações excedem limites específicos. O seguinte procedimento armazenado coleta e filtra os dados na tabela vm_settings e, em seguida, insere linhas na tabela vm_settings_history quando as seguintes condições forem atendidas:
Um
vm_settingcom um valor des1é definido mais baixo que5.Um
vm_settingcom um valor des2é definido mais alto que500.
As linhas inseridas na tabela vm_settings_history inclui todos os valores da coluna da tabela vm_settings, juntamente com o emp_id do empregado que possui o VM e a data atual.
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):
Execute o procedimento armazenado:
Você pode ver os dados que o procedimento inseriu na tabela vm_settings_history executando a seguinte consulta: