Snowflake cloud data platform 雪花创建表与创建另一个表类似,但将所有列设置为可空

Snowflake cloud data platform 雪花创建表与创建另一个表类似,但将所有列设置为可空,snowflake-cloud-data-platform,nullable,create-table,Snowflake Cloud Data Platform,Nullable,Create Table,正如主题行所说,我希望根据excel中的表列表自动创建表,但如果这些表以_ERR结尾,我希望去掉任何非空限制(旧系统中的一个缺陷) 有办法吗?只有实际的语句,其余的逻辑都包含在内 比如: CREATE TABLE … LIKE ... SET NULLABLE 那太好了 谢谢大家! 使用Snowflake的SQL变体,您无法在本机上执行此操作。您需要自己编写脚本。这不是使用Snowflake的SQL变体本机可以完成的事情。您需要自己编写脚本。您可以通过awk创建您的语句 awk 'FS=&q

正如主题行所说,我希望根据excel中的表列表自动创建表,但如果这些表以_ERR结尾,我希望去掉任何非空限制(旧系统中的一个缺陷)

有办法吗?只有实际的语句,其余的逻辑都包含在内

比如:

CREATE TABLE … LIKE ... SET NULLABLE
那太好了


谢谢大家!

使用Snowflake的SQL变体,您无法在本机上执行此操作。您需要自己编写脚本。

这不是使用Snowflake的SQL变体本机可以完成的事情。您需要自己编写脚本。

您可以通过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

您可以通过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

创建[或替换]类似于

然后使用alter删除空值


ALTER TABLE t1 ALTER COLUMN c1 DROP不为空

创建[或替换]类似于

然后使用alter删除空值


ALTER TABLE t1 ALTER COLUMN c1 DROP不为空

嗨,谢谢。如前所述,逻辑不是问题,而是实际的语句:)因此,重复一遍,SQL才是问题所在,而不是一些kshhi,谢谢。如前所述,逻辑不是问题,而是实际语句:)重复一遍,SQL才是问题所在,不是一些kshok感谢提供的信息,不幸的是,但这仍然是答案,然后OK感谢提供的信息,不幸的是,这仍然是答案,然后