oracle从入门到精通(PDF格式)-第11部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
*、通过 MODIFY 添加 NOT NULL 约束条件(因为 NOT NULL 为列级约束,只能用 MODIFY 添加)。
ALTER TABLE table_name MODIFY(col type NOT NULL);
查看约束条件:
//desc user_constraints
OWNER 拥有者;
CONSTRAINT_NAME 约束名称
CONSTRAINT_TYPE 约束类型
SEARCH_CONDITION check 的条件
select constraint_name; constraint_type;search_condition;status
from user_constraint where table_name='b';
2。5。视图 (VIEW)
一个或多个表的数据集的逻辑表示(虚表,不存储数据)
视图不能提高查询的性能。
分类:
简单
数目:一个
函数:不包含
分组数据:不包含
可以做 DML操作
复杂
第 37 页,共 106 页
…………………………………………………………Page 38……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
数目:一个或多个
函数:包含
分组数据:包含
不一定能做 DML 操作
视图也可以用 DESC 描述。
创建视图:
CREATE 'or replace(修改视图)' 'force/noforce' VIEW view_name(col coltype ;。。。。。。)
as
subquery
'WITH CHECK OPTION 'CONSTRAINT constraint''
'WITH READ ONLY'CONSTRAINT constraint'';
USER_VIEWS 关于视图的字典
修改视图:
CREATE OR REPLACE 原视图名 (字段列表)
AS 子查询;
包含:
GROUP BY 、DISTINCT、ROWNUM
不能对视图进行删除操作;
包含:
GROUP BY
DISTINCT
ROWNUM
通过表达式定义的列不能对视图进行修改操作;
包含:
GROUP BY
DISTINCT
ROWNUM
通过表达式定义的列
在视图中没有包含基表中的 NOT NULL 列,不能对视图进行插入操作;
使用视图的原因;
为了限制对数据的访问;
为了使复杂的查询变得简单;
提供了数据的独立性;
提供了对相同数据的不同显示;
使用 WITH CHECK OPTION 子句创建视图
创建视图时通过 WITH CHECK OPTION 子句确保执行的 DML 语句不会引起数据不出现在视图上。
在对视图做 DML 操作的时候,一定要符合 WHERE子句中的条件。
CREATE OR REPLACE VIEW empvu20 as select * from employees
where check option constraint 'empvu20_ck';
第 38 页,共 106 页
…………………………………………………………Page 39……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
WITH READ ONLY
不可以进行 DML 操作;
删除视图:
DROP VIEW view_name;
行内视图:是一个在 SQL 语句中使用的带有别名的子查询,该子查询放在 FROM 之后;
TOP…N:
select 'col_list';rownum rank(排名)
from (select 'col_list' from table_name order by top…n_col)
where rownum