【问题标题】:Is it possible execute remove stage using stored procedure?是否可以使用存储过程执行删除阶段?
【发布时间】:2020-03-22 15:49:45
【问题描述】:

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

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

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

非常感谢, 斯里加

【问题讨论】:

    标签: stored-procedures snowflake-cloud-data-platform


    【解决方案1】:

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

    【讨论】:

    • 迈克这是一个有趣的阅读:看起来当你定义存储过程时,如果它没有明确地称为调用者或所有者,它默认为所有者的权限 - 这是指角色权限创建存储过程?我也看到了:docs.snowflake.net/manuals/sql-reference/…如果其他人有兴趣。
    • @Sriga 你能在这个问题上标记解决方案吗:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 2014-10-12
    • 1970-01-01
    • 2022-07-16
    • 2012-09-14
    相关资源
    最近更新 更多