正如主题行所说,我想基于excel中的表列表自动创建表,但是如果这些是以_ERR结尾的表,我想去除任何非null限制(旧的缺陷系统)。
有没有办法做到这一点?只是实际的陈述,其余的逻辑都涵盖了。
像这样的东西:
CREATE TABLE … LIKE ... SET NULLABLE
会很好。
谢谢!
答案 0 :(得分:1)
这不是您可以使用Snowflake的SQL变量本地完成的操作。您需要自己编写脚本。
答案 1 :(得分:1)
创建[或替换]表
然后使用alter删除NULL。
ALTER TABLE t1 ALTER COLUMN c1 DROP NOT NULL;
答案 2 :(得分:0)
您可以通过awk创建语句
awk 'FS="_" { if($NF=="ERR") print "create table like",$0 , "as nullable;"; else print "create table like",$0} ' file
o/p
create table like table_1
create table like table_2
create table like table_3_ERR as nullable;
create table like table_4
我猜文件中包含以下表名。
cat file
table_1
table_2
table_3_ERR
table_4