友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
oracle从入门到精通(PDF格式)-第10部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
资源来自网络,仅供学习! Oracle 从入门到精通
salary number(10;2);
CONSTRAINT 约束名 CHECK(SALARY》0);
。。。。
);
约束的使用:
约束的命名:给约束命名或者 ORACLE 服务器将使用 SYS_Cn 的格式为约束命名。
创建时期:在创建表的同时或者在建表之后。
定义级别:
可以在表级定义或列级定义。
在数据字典中可以查看约束。
使用 ALTER TABLE 语句:
*、添加或者删除约束条件,但是不能修改约束条件。 就算列名上已经有约束条件,还可以
继续添加约束条件的。
添加:ALTER TABLE table_name ADD 'CONSTRAINT ' 约束名 约束条件(column);
删除:ALTER TABLE table_name drop constraint 约束名;
ALTER TABLE table_name PRIMARY KEY CASCADE;删除主键的时候,不用约束名。
*、启动或禁用约束条件
ALTER TABLE table_name Disable constraint 约束名; 禁用
ALTER TABLE table_name ENABLE constraint 约束名; 启用
*、通过 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
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!