Acesso a dados de um procedimento armazenado em Java

Para acessar dados com um manipulador de procedimento armazenado escrito em Java, use as APIs da biblioteca Snowpark.

Ao tratar uma chamada para seu procedimento armazenado em Java, o Snowflake cria um objeto Session Snowpark e passa o objeto para o método do seu procedimento armazenado.

Como acontece com os procedimentos armazenados em outras linguagens, o contexto da sessão (incluindo os privilégios, o banco de dados e o esquema atuais etc.) é determinado pelo fato de o procedimento armazenado ser executado com os direitos do chamador ou com os direitos do proprietário. Para obter mais detalhes, consulte Acesso e configuração do estado da sessão.

Você pode usar este objeto Session para chamar APIs na Biblioteca do Snowpark. Por exemplo, você pode criar um DataFrame para uma tabela ou executar uma instrução SQL.

Consulte o Guia do Desenvolvedor do Snowpark para Java para obter mais informações.

Nota

Para obter mais informações sobre limitações, incluindo limitações no acesso aos dados, consulte Limitações do procedimento armazenado em Java.

Exemplo de acesso aos dados

No exemplo a seguir, um método Java copia um número específico de linhas de uma tabela para outra tabela. O método utiliza os seguintes argumentos:

  • Um objeto Session do Snowpark

  • O nome da tabela para copiar as linhas de

  • O nome da tabela para salvar as linhas para

  • O número de linhas a copiar

O método neste exemplo retorna uma cadeia de caracteres.

import com.snowflake.snowpark_java.*;

public class MyClass
{
  public String myMethod(Session session, String fromTable, String toTable, int count)
  {
    session.table(fromTable).limit(count).write().saveAsTable(toTable);
    return "Success";
  }
}
Copy