列重命名之后, 索引是会被数据库自动维护。 不用重建索引,但是试图,函数等对象引用是需要手动维护的
rename_column_clause
Use the rename_column_clause
to rename a column of table
. The new column name must not be the same as any other column name in table
.
When you rename a column, Oracle Database handles dependent objects as follows:
-
Function-based indexes and check constraints that depend on the renamed column remain valid.
-
Dependent views, triggers, functions, procedures, and packages are invalidated. Oracle Database attempts to revalidate them when they are next accessed, but you may need to alter these objects with the new column name if revalidation fails.
-
If a domain index is defined on the column being renamed, then the database invokes the ODCIIndexAlter method with the
RENAME
option. This operation establishes correspondence between the indextype metadata and the base table
Restrictions on Renaming Columns
Renaming columns is subject to the following restrictions:
-
You cannot combine this clause with any of the other
column_clauses
in the same statement. -
You cannot rename a column that is used to define a join index. Instead you must drop the index, rename the column, and re-create the index.
-
You cannot rename a column in a duplicated table.
The following example renames the credit_limit
column of the sample table oe.customers
to credit_amount
:
ALTER TABLE customers RENAME COLUMN credit_limit TO credit_amount;