使用 RENAME TABLE 语句来更改表的名称。RENAME TABLE 语句为对 SQL 的 ANSI/ISO 标准的扩展。
要重命名表,您必须为该表的所有者,或有对该表的 ALTER 权限,或有对该数据库的 DBA 权限。
如果 old_table 为同义词,而不是表的名称,则发生错误。
old_table 可为 CREATE EXTERNAL TABLE 语句定义的对象。
重命名了的表保留在当前的数据库中。您不可使用 RENAME TABLE 语句来将表从当前的数据库移到另一数据库,也不能重命名位于另一数据库中的表。
您不可通过重命名表来更改表 owner。如果您试图为该表的新名称指定 owner. 标识符,则发生错误。
当更改表所有者时,您必须同时指定旧的所有者和新的所有者。
在符合 ANSI 的数据库中,如果您不是 old_table 的所有者,则必须指定 owner.old_table 作为该表的旧的名称。
如果通过当前数据库中的视图引用 old_table,则在 sysviews 系统目录表中更新该视图定义来反映新的表名称。要获取更多关于 sysviews 系统目录表的信息,请参阅 GBase 8s SQL 参考指南。
当执行该触发器时,如果它遇到不存在的表的表名称,则数据库服务器返回错误。
CREATE TABLE new_table ( item_num SMALLINT, order_num INTEGER, quantity SMALLINT, stock_num SMALLINT, manu_code CHAR(3), total_price MONEY(8) ); INSERT INTO new_table SELECT item_num, order_num, quantity, stock_num, manu_code, total_price FROM items; DROP TABLE items; RENAME TABLE new_table TO items;