Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在一个go-in配置单元中删除多个列_Sql_Hive_Hiveql_Rdbms - Fatal编程技术网

Sql 在一个go-in配置单元中删除多个列

Sql 在一个go-in配置单元中删除多个列,sql,hive,hiveql,rdbms,Sql,Hive,Hiveql,Rdbms,我们可以在配置单元中的单个Alter语句中删除多个列吗 差不多 Alter table t drop column a1,a2 我必须删除大约7列,所以我正在寻找一种优雅的方法我没有蜂箱方面的经验,但我的发现可能会对你有所帮助 似乎,我们不能使用命令ALTERTABLETABLE\u name drop col\u name直接从表中删除列 所以,在replace columns子句中提供您希望成为表的一部分的所有列。例如,emp表包含以下列Id、Name、Dept、Email、Addres

我们可以在配置单元中的单个Alter语句中删除多个列吗

差不多

Alter table t drop column a1,a2 

我必须删除大约7列,所以我正在寻找一种优雅的方法

我没有蜂箱方面的经验,但我的发现可能会对你有所帮助

似乎,我们不能使用命令ALTERTABLETABLE\u name drop col\u name直接从表中删除列

所以,在replace columns子句中提供您希望成为表的一部分的所有列。例如,emp表包含以下列Id、Name、Dept、Email、Address、Salary,如果要删除Address和Salary列,则查询如下

ALTER TABLE emp REPLACE COLUMNS( Id int, Name string, Dept string, Email string);
注意:但是上述语句只能更改表的架构,不能更改数据

就像在REPLACE子句中提及所有列(您希望保留在表中)的方式一样


参考&

此处更新到目前为止您尝试了什么?