Accéder aux données à partir d’une procédure stockée Java¶
Pour accéder aux données avec un gestionnaire de procédure stockée écrit en Java, utilisez les APIs de bibliothèque Snowpark.
Lors du traitement d’un appel à votre procédure stockée Java, Snowflake crée un objet Snowpark Session
et transmet cet objet à la méthode de votre procédure stockée.
Comme c’est le cas pour les procédures stockées dans d’autres langues, le contexte de la session (y compris les privilèges, la base de données et le schéma actuels, etc.) est déterminé par le fait que la procédure stockée s’exécute avec les droits de l’appelant ou les droits du propriétaire. Pour plus de détails, voir Accéder à l’état de la session et le définir.
Vous pouvez utiliser cet objet Session
pour appeler des APIs dans la bibliothèque Snowpark. Par exemple, vous pouvez créer un DataFrame pour une table ou exécuter une instruction SQL.
Voir le Guide du développeur Snowpark pour Java pour plus d’informations.
Note
Pour plus d’informations sur les limitations, y compris celles concernant l’accès aux données, voir Limitations des procédures stockées Java.
Exemple d’accès aux données¶
Dans l’exemple suivant, une méthode Java copie un nombre spécifié de lignes d’une table vers une autre table. La méthode accepte les arguments suivants :
Un objet
Session
SnowparkLe nom de la table à partir de laquelle les lignes doivent être copiées
Le nom de la table dans laquelle les lignes doivent être enregistrées
Le nombre de lignes à copier
La méthode dans cet exemple renvoie une chaîne.
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";
}
}