oracle删除列
语法 alter table 表名 drop column 列名
如果需要删除的列包含主从关系,为主表的主键,删除时需要加入cascade constraints参数
以上案例,首先以EMP表中的主键EMPNO列成为主表,MGR为外表中的列,当删除主表中的主键时,必须加入cascade constraints参数。
也可以设置一列成为不可用列,unuserd状态
语法 alter table 表名 set unuserd column列名
注意:设置unuserd状态的列不可恢复 可以使用alter table 表名 drop unused columns 进行删除
以上案例,首先设置bonus表中的sal为不可用列,再查看表结构时已不存在,其实并没有删除,然后使用drop unused进行删除
视图
定义: 视图可以被看做是一条select语句。 用于显示一张或多张表,或其他视图的相关数据。
视图来源于表,这些表称为视图的基表。对视图数据的修改都将会定义到基表当中,并且修改必须遵照基表的约束,同样会触发基表的触发器。
视图是一条由select构成的虚拟表
优势
提高安全性
可以只引用某表的某一部分
简化部分查询
检索多张表的数据
权限 创建视图需要create view权限
语法 create view 视图名 as select语句
首先赋予SCOTT用于创建视图的权限
创建视图
查看视图,与查看table一样,使用select
参数
or replace 替换已经存在的视图
force 不管基表是否存在,都创建视图
如以上案例,虽然视图创建时显示编译错误,但其实还是创建成功了。
no forece 只有基表存在时才能创建视图(默认情况下也是)
with chect option 在对视图进行修改时必须满足对基表约束的条件
with read only 只读视图
drop 删除视图
查看用户的所有视图 select * from user_views;
本文转自 郑伟 51CTO博客,原文链接:http://blog.51cto.com/zhengweiit/516795