create or replace procedure check(vendor varchar)
returns varchar
language javascript
execute as caller
as
$$
var command7=`update test set id_null=( select count(*) from table where lower(trim(source))=? and id is null), 1_null=(select count(*) from table where lower(trim(source))=? and 1 is null), 2_null=(select count(*) from table where lower(trim(source))=? and 2 is null) where vendor=concat('${VENDOR}','ABC')`;
var stmt7=snowflake.createStatement({sqlText: command7, binds: [VENDOR], binds: [VENDOR], binds: [VENDOR]});
var rs7=stmt7.execute();
$$
Error returned: "Bind variable ? not set"
Instead of this line:
var stmt7=snowflake.createStatement({sqlText: command7, binds: [VENDOR], binds: [VENDOR], binds: [VENDOR]});
Try this one:
var stmt7=snowflake.createStatement({sqlText: command7, binds: [VENDOR, VENDOR, VENDOR]});