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 SnowparkO 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";
}
}