Java 存储过程限制¶
限制¶
存储过程有以下限制:
不支持并发。例如,在代码中,不能从多个线程提交查询。同时发出多个查询的代码将产生错误。
如果从任务中执行存储过程,则必须在创建任务时指定仓库。(您不能使用无服务器计算资源来运行任务。)
在存储过程中使用某些 Snowpark APIs 时,请注意以下限制。
使用 :ref:` 执行 PUT 和 GET 命令的 APIs <label-snowpark_java_dataframe_stages_file_operation>` (包括
Session.sql("PUT ...")
和Session.sql("GET ...")
)时,只能写入为调用该过程的查询提供的内存支持文件系统中的 /tmp 目录。请勿使用 :ref:` 创建新会话的 APIs <label-snowpark_java_creating_session>` (例如,
Session.builder().configs(...).create()
)。不支持使用
session.jdbcConnection
(以及从中返回的连接),因为它可能会导致不安全的行为。
所有者权限存储过程不支持创建指定的临时对象。所有者权限存储过程是以存储过程所有者的权限运行的存储过程。有关更多信息,请参阅 :doc:` 调用方的权限或所有者的权限 </developer-guide/stored-procedure/stored-procedures-rights>`。