专家,
我正在尝试在雪花过程中使用表函数。但是它给我抛出了一个错误。
创建过程 ..... .... extcnt ="select count(*) from table(information_schema.external_table_files(table_name=>''MYTABLE''))";
snowflake.execute({sqlText: extcnt}); .....
我收到以下错误消息。在过程中使用表函数有什么限制吗?请帮忙。
"JavaScript 执行错误:未捕获 100183-存储过程执行错误:在存储过程中无法访问有关当前用户的请求信息">
问候 戈皮
检查"调用方的权限和所有者的权限存储过程" - 这可能是该错误消息的来源:
- https://docs.snowflake.com/en/sql-reference/stored-procedures-rights.html
定义存储过程时,可以要求它EXECUTE AS CALLER
,这会更改它对不同资源的访问权限。
如果满足以下所有条件,则创建存储过程作为所有者的权限存储过程:您希望将任务委派给将使用所有者的权限而不是调用者自己的权限运行的其他用户 [...]
如果满足以下条件,则创建存储过程作为调用方的权限存储过程:存储过程仅对调用方拥有的对象或对 [...] 具有所需特权的对象进行操作
CREATE PROCEDURE sv_proc1()
RETURNS VARCHAR
LANGUAGE JAVASCRIPT
EXECUTE AS CALLER
AS
$$
...