Thanks to visit codestin.com
Credit goes to docs.snowflake.com

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.

Consulte também:

DECLARE, FETCH, CLOSE

Sintaxe

OPEN <cursor_name> [ USING (bind_variable_1 [, bind_variable_2 ...] ) ] ;
Copy

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;
    ...
Copy

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);
Copy

Para um exemplo mais completo da utilização de um cursor, consulte o exemplo introdutório do cursor.