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/
,如需转载,请注明出处,否则将追究法律责任。