【发布时间】:2021-05-19 13:38:42
【问题描述】:
有没有办法从执行过程中获取存储过程的所有者架构?例如,我将程序声明为:
CREATE PROCEDURE UTIL.P_TEST()
EXECUTE AS CALLER
当我从不同的架构“NOT_UTIL”中执行该过程时:
USE NOT_UTIL;
CALL UTIL.P_TEST();
如果我使用 CURRENT_SCHEMA() 函数,我将获得当前会话“NOT_UTIL”的架构名称(如预期的那样),我需要的是获得该过程的所有者架构:UTIL。
在 TSQL 中,我们可以使用以下语法获取架构:
OBJECT_SCHEMA_NAME(@@PROCID)
有没有办法从雪花程序中获取这个值?请注意,对于此用例,使用“EXECUTE AS OWNER”选项不是可行的解决方案。
【问题讨论】:
标签: snowflake-cloud-data-platform procedure