ITPub博客

首页 > 数据库 > Oracle > 14.管理schema对象

14.管理schema对象

原创 Oracle 作者:zuiai510416 时间:2014-02-11 20:06:19 0 删除 编辑
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                  --重新启用约束

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15810196/viewspace-1079765/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 13.索引的使用
下一篇: 15.闪回
请登录后发表评论 登录
全部评论

注册时间:2011-07-19

  • 博文量
    53
  • 访问量
    131708