一次删除多个表
Drop multiple tables at once
在 SQL 中,您可以使用如下简单查询一次删除多个 table:
下降 table a, b, c
在 Snowflake 中这不起作用。有没有办法一次删除多个 table?
你好,如果你有要删除的表列表,你可以像这样执行两步,在其中生成 DDL。
SELECT 'DROP TABLE ' || table_name || ';'
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE IN ('TAB1', 'TAB2');
也许您可以创建一个简单的 SP 来为您完成此操作:
create or replace procedure drop_tables(list varchar)
returns string
language javascript
as
$$
var l = LIST.split(',');
var sqls = [];
for (i=0; i<l.length; i++) {
var sql = "DROP TABLE IF EXISTS " + l[i].trim();
var rs = snowflake.execute( {sqlText: sql});
sqls.push(sql);
}
return JSON.stringify(sqls);
$$;
call drop_tables('mytest,test , my_table ');
+---------------------------------------------------------------------------------------------+
| DROP_TABLES |
|---------------------------------------------------------------------------------------------|
| ["DROP TABLE IF EXISTS mytest","DROP TABLE IF EXISTS test","DROP TABLE IF EXISTS my_table"] |
+---------------------------------------------------------------------------------------------+
在 SQL 中,您可以使用如下简单查询一次删除多个 table: 下降 table a, b, c
在 Snowflake 中这不起作用。有没有办法一次删除多个 table?
你好,如果你有要删除的表列表,你可以像这样执行两步,在其中生成 DDL。
SELECT 'DROP TABLE ' || table_name || ';'
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE IN ('TAB1', 'TAB2');
也许您可以创建一个简单的 SP 来为您完成此操作:
create or replace procedure drop_tables(list varchar)
returns string
language javascript
as
$$
var l = LIST.split(',');
var sqls = [];
for (i=0; i<l.length; i++) {
var sql = "DROP TABLE IF EXISTS " + l[i].trim();
var rs = snowflake.execute( {sqlText: sql});
sqls.push(sql);
}
return JSON.stringify(sqls);
$$;
call drop_tables('mytest,test , my_table ');
+---------------------------------------------------------------------------------------------+
| DROP_TABLES |
|---------------------------------------------------------------------------------------------|
| ["DROP TABLE IF EXISTS mytest","DROP TABLE IF EXISTS test","DROP TABLE IF EXISTS my_table"] |
+---------------------------------------------------------------------------------------------+