SnowFlake 存储过程根据条件从 table 中删除一行
SnowFlake stored procedure to delete a row from a table based on a condition
我正在根据 where 条件从 table 中删除一行,但我不明白哪里出错了
我有一个 table TABLE1 如下
-------------------------------
| DB | SC | TB | COLUMNS |
-------------------------------
| DB1 | SC1 | TB1 | COL1 |
| DB2 | SC2 | TB2 | COL2 | <-- Delete this row
| DB3 | SC3 | TB3 | COL3 |
-------------------------------
这是我的存储过程
CREATE OR REPLACE PROCEDURE DEL(COL VARCHAR) // taking column name as parameter to delete that row
RETURNS string
LANGUAGE JAVASCRIPT
AS
$$
var str = '';
var stmt = snowflake.createStatement({sqlText: "DELETE FROM DATA_QUALIT WHERE COLUMNS = +COL+";"});
stmt.execute();
return str;
$$;
CALL DEL('COL2'); //Calling the procedure
但是,我遇到了一个错误
Execution error in store procedure DEL: SQL compilation error: error line 1 at position 40 invalid identifier 'COL2'
我相信您只是缺少值周围的单引号:
var stmt = snowflake.createStatement({sqlText: "DELETE FROM DATA_QUALIT WHERE COLUMNS = '" + COL +"';"});
希望对你有所帮助...丰富
p.s。如果这个(或另一个)答案对您有帮助,请花点时间“接受”有帮助的答案
通过单击答案旁边的复选标记将其从“灰色”切换为“已填写”。
我正在根据 where 条件从 table 中删除一行,但我不明白哪里出错了
我有一个 table TABLE1 如下
-------------------------------
| DB | SC | TB | COLUMNS |
-------------------------------
| DB1 | SC1 | TB1 | COL1 |
| DB2 | SC2 | TB2 | COL2 | <-- Delete this row
| DB3 | SC3 | TB3 | COL3 |
-------------------------------
这是我的存储过程
CREATE OR REPLACE PROCEDURE DEL(COL VARCHAR) // taking column name as parameter to delete that row
RETURNS string
LANGUAGE JAVASCRIPT
AS
$$
var str = '';
var stmt = snowflake.createStatement({sqlText: "DELETE FROM DATA_QUALIT WHERE COLUMNS = +COL+";"});
stmt.execute();
return str;
$$;
CALL DEL('COL2'); //Calling the procedure
但是,我遇到了一个错误
Execution error in store procedure DEL: SQL compilation error: error line 1 at position 40 invalid identifier 'COL2'
我相信您只是缺少值周围的单引号:
var stmt = snowflake.createStatement({sqlText: "DELETE FROM DATA_QUALIT WHERE COLUMNS = '" + COL +"';"});
希望对你有所帮助...丰富
p.s。如果这个(或另一个)答案对您有帮助,请花点时间“接受”有帮助的答案 通过单击答案旁边的复选标记将其从“灰色”切换为“已填写”。