-
- RENAME COLUMN 语句
使用 RENAME COLUMN 语句来更改列的名称。RENAME COLUMN 语句是对 SQL 的 ANSI/ISO 标准的扩展。
语法
元素 | 描述 | 限制 | 语法 |
new_column | 您在此声明来替代 old_column 的名称 | 在 table 中的列名称中必须是唯一的。另请参阅 影响触发器的方式。 | 标识符 |
old_column | 要重命名的列 | 在表内必须存在 | 标识符 |
owner | 表的所有者 | 必须为表的所有者 | 所有者名称 |
table | 包含 old_column 的表 | 必须注册在当前数据库中 | 标识符 |
用法
如果任何下列条件为真,则您可重命名表的列:
- 您拥有该表或有对该表的 Alter 权限。
- 您有对该数据库的 DBA 权限。
该列可在 CREATE EXTERNAL TABLE 语句定义的表对象中。
示例
下列示例将新名称 c_num 赋予 customer 表中的 customer_num 列:
RENAME COLUMN customer.customer_num TO c_num;
影响视图和检查约束的方式
如果您重命名出现在视图中的列,则更新在 sysviews 系统目录表中的视图定义的文本,来反映新的列名称。如果您重命名出现在检查约束中的列,则更新在 syschecks 系统目录表中的检查约束的文本,来反映新的列名称。
影响触发器的方式
如果您重名出现在触发器定义内的列,则仅在下列情况下才用新的名称代替它:
- 当它作为触发器的 FOR EACH ROW 活动子句内的相关名称的一部分出现时
- 当它作为 EXECUTE FUNCTION(或 EXECUTE PROCEDURE)语句的 INTO 子句中的相关名称的一部分出现时
- 当它作为 UPDATE 子句中的触发器列出现时
当触发器执行时,如果数据库服务器遇到在该表中不再存在的列名称时,在返回错误。