使用存储过程更新雪花表的列



我正在snowflake中创建一个存储过程。我想用值"ZZ"更新EMPLOYEE表的ORG_ID列。这是我的代码,而不是我哪里出错了。

CREATE OR REPLACE PROCEDURE NEW(VAL VARCHAR)
RETURNS string
LANGUAGE JAVASCRIPT
AS
$$      

let sql_command = `update EMPLOYEE set ORG_ID = ${VAL}`;
snowflake.execute({sqlText: sql_command});
return 'success';
$$;

call NEW('ZZ');

应绑定变量:

CREATE OR REPLACE PROCEDURE NEW(VAL VARCHAR)
RETURNS string
LANGUAGE JAVASCRIPT
AS
$$      

let sql_command = `update EMPLOYEE set ORG_ID = :1`;
snowflake.execute({sqlText: sql_command, binds: [VAL]});
return 'success';
$$;

相关:绑定变量


也可以使用字符串插值,但它容易出现SQL注入:

let sql_command = `update EMPLOYEE set ORG_ID = '${VAL}'`;

最新更新