ITPub博客

首页 > 数据库 > Oracle > 表增删改字段,及基表改变等相关操作对视图、同义词、存储过程的影响

表增删改字段,及基表改变等相关操作对视图、同义词、存储过程的影响

原创 Oracle 作者:lusklusklusk 时间:2017-07-05 11:04:01 0 删除 编辑
oracle无法像mysql那样直接修改字段顺序,oracle修改字段顺序需要修改数据字段并重启


以下语句在USER1用户下或SYSTEM用户下执行都是一样的结果

修改字段名,oracle不支持一条alert命令修改多个字段名
ALTER TABLE USER1.TABLE1 RENAME COLUMN hid1 TO hid ; 

修改字段类型,修改一个字段或多个字段类型 
ALTER TABLE USER1.TABLE1 MODIFY hid NUMBER(11) ;  
ALTER TABLE USER1.TABLE1 MODIFY (hid NUMBER(10),HNA varchar(20),HADD varchar(20)) ; 

添加字段,添加一个字段或多个字段
ALTER TABLE USER1.TABLE1 ADD ADDRESS VARCHAR2(10)  ;
ALTER TABLE USER1.TABLE1 ADD (ADDRESS2 VARCHAR2(10) ,ADDRESS3 VARCHAR2(10),ADDRESS4 VARCHAR2(10) );  

删除字段,删除一个字段或多个字段,删除多个字段时不能有关键字COLUMN
ALTER TABLE USER1.TABLE1 DROP COLUMN ADDRESS  ; 
ALTER TABLE USER1.TABLE1 DROP  (ADDRESS2, ADDRESS3,ADDRESS4) ; 




1.增加字段
select视图时发现:视图没有自动获取到新增的字段
select同义词时发现:同义词自动获取到了新增的字段

2.删除字段
select视图时发现:如果视图引用了该字段,视图报错
                  如果视图没有引用该字段,视图正常
select同义词时发现:同义词自动删除了字段

3.修改字段长度或类型
视图、同义词、存储过程都没有任何影响

4.drop表
视图、同义词、存储过程都失效了,即dba_objects.status='INVALID'


以上说明:
增减字段对同义词没有任何影响,因为同义词的创建语句为CREATE SYNONYM URSR1.SYNONYM_NAME FOR URSRX.TABLE_NAME
增字段对视图没有影响,减字段对视图的影响,只以第一次建立视图时引用的字段有关,就算第一次是select * from table,视图真实的创建语法也是select column1,column2,column3.. from table

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

下一篇: SWAP知识总结
请登录后发表评论 登录
全部评论
Welcome to Lukes DB HOME。 Oracle OCM、Mysql OCP, 10年DBA工作经验,博客仅记录自己的一个学习过程,不代表完全准确,如有需要,欢迎转载。

注册时间:2015-02-02

  • 博文量
    348
  • 访问量
    1174992