manager schema Object
--增加修改列
--sys用户下的列可以增加,不可以删除
Select * From t
Delete t Where Id = 4 And Rownum =1
Alter Table t Add name2 Varchar2(10) Default 'a' Not Null --增加列
Alter Table t Drop Column Name2 --删除单列
Alter Table t Drop (name1,name2) --删除多列
Alter Table t Modify name2 Varchar2(20) --修改列宽
Alter Table t Modify Id Primary Key --修改id为主键
Alter Table t Add (name1 Number Default 0) --增加列
Alter Table t Rename Column name1 To num --重命名列
--在高可用性大表删除列的方法,表当前在使用,不能删除列
Alter Table t Set Unused Column num --先把要删除的列设置为不可用(在数据字典里删除了元数据)
Alter Table t Drop Unused Column --等到业务结束后,删除不可用的列
--删除列的约束
--有主键的列可以删除
--主键被外键参照或者有约束不能直接删除,需要同时删除相关约束
Alter Table ORDER_RETURNS Drop Column CRUISE_ORDER Cascade Constraints;
--删除主键
Select * From dba_tables Where table_name ='T' --
Select * From dba_constraints Where table_name = 'T' --CONSTRAINT_NAME PK_T
Select * From dba_indexes Where table_name = 'T' --
Alter Table t Drop Constraint PK_T --删除约束就删除了主键和索引
Alter Table t Modify Id Primary Key --重新创建主键 主键名为 SYS_C002986
Alter Table t Drop Constraint SYS_C002986 Keep Index --删除约束,删除了主键但保留索引
Alter Table t Modify Id Primary Key Using Index --增加主键时使用原来的索引
--表tt参照t表增加外键
Alter Table tt Add Constraint fk_tt Foreign Key (Id) References t(Id) --表tt增加外键
Alter Table t Drop Constraint SYS_C002986 --由于T的主键id被外键引用,所以直接删除报错
Alter Table t Drop Constraint SYS_C002986 Cascade --由于T的主键id被外键引用,所以直接删除报错
--使约束失效
Alter Table Disable Constraint SYS_C002987 --使约束失效
Alter Table enable Constraint SYS_C002987 --重新启用约束
--增加修改列
--sys用户下的列可以增加,不可以删除
Select * From t
Delete t Where Id = 4 And Rownum =1
Alter Table t Add name2 Varchar2(10) Default 'a' Not Null --增加列
Alter Table t Drop Column Name2 --删除单列
Alter Table t Drop (name1,name2) --删除多列
Alter Table t Modify name2 Varchar2(20) --修改列宽
Alter Table t Modify Id Primary Key --修改id为主键
Alter Table t Add (name1 Number Default 0) --增加列
Alter Table t Rename Column name1 To num --重命名列
--在高可用性大表删除列的方法,表当前在使用,不能删除列
Alter Table t Set Unused Column num --先把要删除的列设置为不可用(在数据字典里删除了元数据)
Alter Table t Drop Unused Column --等到业务结束后,删除不可用的列
--删除列的约束
--有主键的列可以删除
--主键被外键参照或者有约束不能直接删除,需要同时删除相关约束
Alter Table ORDER_RETURNS Drop Column CRUISE_ORDER Cascade Constraints;
--删除主键
Select * From dba_tables Where table_name ='T' --
Select * From dba_constraints Where table_name = 'T' --CONSTRAINT_NAME PK_T
Select * From dba_indexes Where table_name = 'T' --
Alter Table t Drop Constraint PK_T --删除约束就删除了主键和索引
Alter Table t Modify Id Primary Key --重新创建主键 主键名为 SYS_C002986
Alter Table t Drop Constraint SYS_C002986 Keep Index --删除约束,删除了主键但保留索引
Alter Table t Modify Id Primary Key Using Index --增加主键时使用原来的索引
--表tt参照t表增加外键
Alter Table tt Add Constraint fk_tt Foreign Key (Id) References t(Id) --表tt增加外键
Alter Table t Drop Constraint SYS_C002986 --由于T的主键id被外键引用,所以直接删除报错
Alter Table t Drop Constraint SYS_C002986 Cascade --由于T的主键id被外键引用,所以直接删除报错
--使约束失效
Alter Table Disable Constraint SYS_C002987 --使约束失效
Alter Table enable Constraint SYS_C002987 --重新启用约束
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15810196/viewspace-1079765/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15810196/viewspace-1079765/