gpt4 book ai didi

javascript - 雪花存储过程作为所有者执行

转载 作者:行者123 更新时间:2023-12-02 22:07:58 24 4
gpt4 key购买 nike

我正在尝试创建一个 SP,并以所有者身份执行以返回表列表。 SP 正在创建,但调用它时会抛出错误。

create database trash;
CREATE OR REPLACE procedure trash.public.sandbox_tables()
RETURNS TABLE (TABLE_SCHEMA varchar,TABLE_NAME varchar)
LANGUAGE JAVASCRIPT
EXECUTE AS OWNER
as
$$
var sql_cmd = `select TABLE_SCHEMA,TABLE_NAME
from SNOWFLAKE.ACCOUNT_USAGE.TABLES
where TABLE_CATALOG ='SANDBOX'
and table_type='BASE TABLE'
and DELETED is NULL
and current_date()-CREATED::date >=90`;
var rs = snowflake.execute( {sqlText: sql_cmd} );
rs.next();
var result = rs.getColumnValue();
return result
$$;

call trash.public.sandbox_tables()

错误:SQL 编译错误:无效标识符 TRASH.PUBLIC.SANDBOX_TABLES

不确定无效标识符是什么,如果您能解释一下 next() 正在做什么以及 getColumnValue 函数/方法可以使用哪些参数,我们将不胜感激。

最佳答案

存储过程不返回表,因此我认为它实际上并未创建。这是一个解决方法:Using RESULT_SCAN to Retrieve the Result from a Stored Procedure

关于javascript - 雪花存储过程作为所有者执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59655963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com