从 Java 存储过程访问数据

要通过以 Java 编写的存储过程处理程序访问数据,请使用 Snowpark 库 APIs。

处理对 Java 存储过程的调用时,Snowflake 会创建一个 Snowpark Session 对象,并将该对象传递给存储过程的方法。

与使用其他语言的存储过程一样,会话的上下文(包括权限、当前数据库和架构等)取决于存储过程是以调用方权限还是所有者权限运行。有关详细信息,请参阅 访问和设置会话状态

您可以使用此 Session 对象调用 Snowpark 库 中的 APIs。例如,您可以 :doc:` 为表创建 DataFrame </developer-guide/snowpark/java/working-with-dataframes>`,或执行 SQL 语句。

有关更多信息,请参阅 Snowpark Java 开发者指南

备注

有关限制(包括访问数据的限制)的信息,请参阅 Java 存储过程限制

数据访问示例

在以下示例中,Java 方法将指定数量的行从一个表复制到另一个表。该方法采用以下实参:

  • Snowpark Session 对象

  • 要从中复制行的表的名称

  • 要将行保存到的表的名称

  • 要复制的行数

此示例中的方法返回一个字符串。

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
语言: 中文