可以使用存储过程执行移除阶段吗?

3
我正在尝试通过存储过程从Snowflake内部阶段执行删除文件操作。 我遇到了以下错误:
在语句.execute,第5行第21个位置处,存储过程RM_STAGE中的执行错误:不支持的语句类型“UNKNOWN”。
是否可能通过存储过程执行删除命令?
非常感谢, Sriga
1个回答

2

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

1
Mike,这是一篇有趣的阅读:看起来当您定义存储过程时,如果它没有显式地被称为调用者或所有者,则默认为所有者的权限 - 这是指创建存储过程的角色权限吗?我还看到了这个链接:https://docs.snowflake.net/manuals/sql-reference/stored-procedures-usage.html#label-stored-procedure-privileges 如果其他人也感兴趣。 - Rachel McGuigan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接