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,我已更新了程序。现在,它将获取并返回第二个查询的第一行。