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 Snowpark

  • Le 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";
  }
}
Copy