首页 > 解决方案 > 是否可以使用存储过程执行删除阶段?

问题描述

我正在尝试通过存储过程从雪花内部阶段执行删除文件。我收到此错误:

存储过程 RM_STAGE 中的执行错误:存储过程执行错误:不支持的语句类型“未知”。在 Statement.execute,第 5 行位置 21

是否可以通过存储过程执行删除命令?

非常感谢, 斯里加

标签: stored-proceduressnowflake-cloud-data-platform

解决方案


有可能的。该过程需要是调用者权限存储过程。下面是一个从阶段中删除所有文件的 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;
  $$
  ;```

推荐阅读