【发布时间】:2021-03-25 16:34:10
【问题描述】:
下面是我的示例代码:
CREATE OR REPLACE PROCEDURE database.schema.sp_sample(dynamic_columns VARCHAR, dynamic_where_clause VARCHAR)
RETURNS VARCHAR
LANGUAGE JAVASCRIPT
EXECUTE AS CALLER
AS
$$
rs="Success";
try {
retrieve_queries_sql = `SELECT COL_1, COL_2, ? FROM table ? GROUP BY ?`;
var stmt = snowflake.createStatement( {sqlText: retrieve_queries_sql, binds:[DYNAMIC_COLUMNS, DYNAMIC_WHERE_CLAUSE, DYNAMIC_COLUMNS]} );
var rs = stmt.execute();
}
catch(err) {
rs= "Failed Message: "+err.message;
}
return rs;
$$;
当我尝试绑定这些列时,Snowflake 会抛出意外错误?我什至尝试使用 :1, :2 即使没有工作同样的错误意外:
不想更喜欢插值 ${dynamic_columns} 或 ${dynamic_where_clause} 因为它可能导致 sql 注入问题
如何以最好的方式绑定参数?任何建议表示赞赏。
【问题讨论】:
标签: snowflake-cloud-data-platform