Javascript 当我试图使用雪花存储过程执行alter命令时,出现错误';s
我已经用下面的代码创建了存储过程,我得到了一个错误Javascript 当我试图使用雪花存储过程执行alter命令时,出现错误';s,javascript,snowflake-cloud-data-platform,snowflake-schema,Javascript,Snowflake Cloud Data Platform,Snowflake Schema,我已经用下面的代码创建了存储过程,我得到了一个错误 CREATE OR REPLACE PROCEDURE testproc() returns string not null language javascript as $$ var sql_textA = "ALTER SESSION SET TIMEZONE = 'UTC'" ; var stmt = snowflake.createStatement({ sqlText: sql_textA}); var rs
CREATE OR REPLACE PROCEDURE testproc()
returns string not null
language javascript
as
$$
var sql_textA = "ALTER SESSION SET TIMEZONE = 'UTC'" ;
var stmt = snowflake.createStatement({ sqlText: sql_textA});
var rs = stmt.execute();
var sql_textb="SELECT CURRENT_TIMESTAMP;"
var stmt = snowflake.createStatement({ sqlText: sql_textA});
var rs = stmt.execute();
return "succes";
$$
;
call testproc()
得到如下错误
“存储过程执行错误:不支持语句类型‘ALTER_SESSION’。在statement.execute的第4行位置”您需要创建具有调用方权限的过程:
CREATE OR REPLACE PROCEDURE testproc()
returns string not null
language javascript
execute as caller
as
$$
var sql_textA = "ALTER SESSION SET TIMEZONE = 'UTC'" ;
var stmt = snowflake.createStatement({ sqlText: sql_textA});
var rs = stmt.execute();
var sql_textb="SELECT CURRENT_TIMESTAMP;"
var stmt = snowflake.createStatement({ sqlText: sql_textb});
var rs = stmt.execute();
rs.next();
return rs.getColumnValue(1);
$$
;
call testproc();
谢谢您的快速回复。您能帮助我使用上述程序返回当前时间戳值吗?如何查看输出值我认为您需要输出rs的结果,而不是
success
Sai,我已更新了程序。现在,它将获取并返回第二个查询的第一行。