从 Python 存储过程访问数据

您可以使用 Snowpark 库 APIs 从存储过程访问数据。

您可以使用 Snowflake 为存储过程创建的 Session 对象,通过调用 ` Snowpark 库 <https://docs.snowflake.cn/en/developer-guide/snowpark/reference/python/latest/index>`__ 中的 APIs 来访问数据。例如,您可以 :ref:` 为表创建 DataFrame <label-snowpark_python_dataframes>` ,或执行 SQL 语句。

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

有关更多信息,请参阅 :doc:` Snowpark 开发者指南 </developer-guide/snowpark/python/index>`。

数据访问示例

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

  • Snowpark Session 对象

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

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

  • 要复制的行数

此示例中的方法返回一个字符串。如果您在 :doc:` Python 工作表 </developer-guide/snowpark/python/python-worksheets>` 中运行此示例,:ref:` 请将工作表的返回类型更改 <label-snowsight_py_worksheets_return>` 为 String

def run(session, from_table, to_table, count):

  session.table(from_table).limit(count).write.save_as_table(to_table)

  return "SUCCESS"
Copy
语言: 中文