stored-procedures - 是否可以使用存储过程执行删除阶段?
问题描述
我正在尝试通过存储过程从雪花内部阶段执行删除文件。我收到此错误:
存储过程 RM_STAGE 中的执行错误:存储过程执行错误:不支持的语句类型“未知”。在 Statement.execute,第 5 行位置 21
是否可以通过存储过程执行删除命令?
非常感谢, 斯里加
解决方案
有可能的。该过程需要是调用者权限存储过程。下面是一个从阶段中删除所有文件的 SP 示例。
create or replace procedure remove_stage_file()
returns float
language javascript
EXECUTE AS CALLER
as
$$
var my_sql_command = "remove @SPLITSTAGE" ;
var statement1 = snowflake.createStatement( {sqlText: my_sql_command} );
var result_set1 = statement1.execute();
return 0;
$$
;```
推荐阅读
- hibernate - Hibernate StaleObjectStateException 问题调用合并
- android - android:navigationBarDividerColor 需要 API 级别 28
- javascript - 关闭 Glide.js 轮播上的拖动
- javascript - WebSockets 在本地主机上工作,但在远程 Ubuntu 主机上不工作
- scala - Akka Streams - 了解物化何时以及如何工作
- jwplayer - 如何从 JWPlayer 获取#EXT-X-PROGRAM-DATE-TIME
- zooming - 升级到 v4.6.5 后不显示 Shift-zoom 边框
- java - 如何在 Spring 数据中读取 JSON 字符串并写入数据库 MySql
- elixir - Elixir/Phoenix/Guardian - 在 conn 中分配 current_user 不适用于测试
- python - 访问列表中第一个元素以外的元素不起作用