OPEN (Script Snowflake)¶
Abre um cursor.
Para obter mais informações sobre os cursores, consulte Como trabalhar com cursores.
Nota
Este constructo do Script Snowflake só é válido dentro de um bloco do Script Snowflake.
Sintaxe¶
OPEN <cursor_name> [ USING (bind_variable_1 [, bind_variable_2 ...] ) ] ;
Onde:
cursor_name
O nome do cursor.
bind_variable
Uma variável de vinculação detém um valor a ser usado na definição da consulta do cursor (por exemplo, em uma cláusula
WHERE
).Um exemplo de vinculação está incluído nos exemplos mais adiante nesta seção.
Notas de uso¶
O conjunto de resultados de uma consulta pode ser pensado como um conjunto de linhas. Internamente, abrir um cursor executa a consulta, lê as linhas e posiciona um ponteiro interno na primeira das linhas.
Como em qualquer consulta SQL, se a definição da consulta não contiver um ORDERBY no nível mais externo, o conjunto de resultados não terá uma ordem definida. Quando o conjunto de resultados para o cursor é criado, sua ordem persiste até que o cursor seja fechado. No entanto, a nova instrução ou a reabertura do cursor pode produzir as linhas em uma ordem diferente.
Da mesma forma, se um cursor é fechado, e então a(s) tabela(s) subjacente(s) é(são) atualizada(s) antes de ser reaberta(s), o conjunto de resultados também pode mudar.
Exemplos¶
DECLARE
c1 CURSOR FOR SELECT price FROM invoices;
BEGIN
OPEN c1;
...
O seguinte mostra como vincular uma variável ao abrir um cursor:
DECLARE
price_to_search_for FLOAT;
price_count INTEGER;
c2 CURSOR FOR SELECT COUNT(*) FROM invoices WHERE price = ?;
BEGIN
price_to_search_for := 11.11;
OPEN c2 USING (price_to_search_for);
Para um exemplo mais completo da utilização de um cursor, consulte o exemplo introdutório do cursor.