我有一个js函数,它准备一个查询,然后在雪花上执行它并将结果存储在变量中:
function objectGet(db, view, schema, object) {
const x = `select get_ddl('${view}', '"${db}"."${schema}"."${object}"') as "result";`
const res = snowflake.createStatement( { sqlText: x } ).execute();
if (res.next()) {
return res.result
}
然后我想将上一个函数的结果插入到表中,但这对我不起作用。如何将这些结果插入到表中?
function add() {
let result = objectGet(x.db, x.view, x.schema, x.object);
let insertt = `
INSERT INTO "Base"."Schema"."Example"
(col)
VALUES
("${result}")`;
snowflake.createStatement({ sqlText: insertt }).execute();
问题是 ${result} 周围的双引号,您应该使用单引号,因为双引号是为标识符保留的。
所以你的“添加”功能应该是:
function add() {
let result = objectGet(x.db, x.view, x.schema, x.object);
let insertt = `
INSERT INTO "Base"."Schema"."Example"
(col)
VALUES
('${result}')
`;
snowflake.createStatement({ sqlText: insertt }).execute();
}
您可能还想转义变量中潜在的单引号,以防万一。