Netezza:如何向表中添加列

Posted

技术标签:

【中文标题】Netezza:如何向表中添加列【英文标题】:Netezza: How to add a column to a table 【发布时间】:2012-05-28 23:05:48 【问题描述】:

不支持 ALTER TABLE table_name ADD 列。还有其他方法可以向表中添加列吗?

【问题讨论】:

如果您无法访问数据库用户指南,它也在线:www-01.ibm.com/support/knowledgecenter/SSULQD_7.1.0/… 【参考方案1】:

你大错特错了。 Netezza 支持添加列。这在您的数据库用户指南中进行了描述,B-19 部分解释了 ALTER TABLE 语法。

查看 nzsql 的输出:

LABDB(ADMIN)=> CREATE TABLE REGION2 AS SELECT * FROM REGION;
INSERT 0 4
Elapsed time: 0m0.138s
LABDB(ADMIN)=> ALTER TABLE REGION2 ADD r_col1 char(8);
ALTER TABLE
Elapsed time: 0m0.145s
LABDB(ADMIN)=> SELECT * FROM REGION2;
 R_REGIONKEY |          R_NAME           |          R_COMMENT          | R_COL1
-------------+---------------------------+-----------------------------+--------
           4 | ap                        | asia pacific                |
           3 | emea                      | europe, middle east, africa |
           2 | sa                        | south america               |
           1 | na                        | north america               |
(4 rows)

Elapsed time: 0m0.510s
LABDB(ADMIN)=> UPDATE REGION2 SET r_col1 = 'AABBAABB';
UPDATE 4
Elapsed time: 0m1.256s
LABDB(ADMIN)=> SELECT * FROM REGION2;
 R_REGIONKEY |          R_NAME           |          R_COMMENT          |  R_COL1
-------------+---------------------------+-----------------------------+----------
           1 | na                        | north america               | AABBAABB
           3 | emea                      | europe, middle east, africa | AABBAABB
           4 | ap                        | asia pacific                | AABBAABB
           2 | sa                        | south america               | AABBAABB
(4 rows)

Elapsed time: 0m0.111s
LABDB(ADMIN)=>

【讨论】:

以上是关于Netezza:如何向表中添加列的主要内容,如果未能解决你的问题,请参考以下文章

如何解析列并向表中添加更多记录?

使用默认值向表中添加列

向表中添加了列,但链接图表未使用新列数据更新

如何在表中添加唯一标识符列?

如何避免向表中添加时间戳字段? [关闭]

SQL 基础之DML 数据处理(十三)