24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 629  |  回复: 1

zyj8119

木虫 (著名写手)

[交流] 【转帖】oracle辅导 已有1人参与

增加约束:
alter table 表名 add constraint [约束名] 约束(字段);
只能够增加表级约束。

解除约束:(删除约束)

alter table 表名 drop 约束;
(对于主键约束可以直接用此方法,因为一张表中只有一个主键约束名, 注意如果主键此时还有其它表引用时删除主键时会出错)

alter table father drop primary key cascade;
(如果有子表引用主键时,要用此语法来删除主键,这时子表还存在只是子表中的外键约束被及联删除了)

alter table 表名 drop constraint 约束名;
(怎样取一个约束名:
a、人为的违反约束规定根据错误信息获取!
b、查询示图获取约束名!)

使约束失效或者生效

alter table  表名  disable from primary key;  (相当于把一个表的主键禁用)

alter table  表名  enable primary key;
(enable 时会自动去检查表的记录是不是符合要求,如果有脏数据时必须要先删除脏数据才可以 enable)

更改表名
rename 旧表名 to 新表名;

删除表:
trucate table 表名;
(表结构还在,数据全部删除,释放表所占的空间,不支持回退,常用删除大表)

关于oralce中产生序列(sequence)
create sequence  序列名;

(不带参数时默认为从1 开始每次递增 1,oracle中为了提高产生序列的效率一般一次性产生20个序列放入当前会话的序列池中备用以加快效率,序列会出现不连续的动作回退操作不会影响序列取值)

sequence 的参数:

increment by n   起始值
start with n     递增量
maxvalue n       最大值
minvalue n       最小值
cycle|no cycle   轮回
cache n          缓存(第一次取时会一次取多少个id存起来)

查看sequence 示图:
desc    user_sequences ;
select   sequence_name , cache_size , last_number  from  user_sequences   where   sequence_name  like 's_';
select  序列名.currval  from   dual   查看当前的序列数
select  序列名.nextval  from   dual   查看下一个序列数,它会自动给当前的序列加1
为列:nextval          currval
(开另一个session时取当前值不成功时,应该先取下一个值,再取当前值)

清空当前会话的内存:
alter system  flush   shared_pool;(执行此命令要有DBA权限,一般用户执行出错)

修改序列:(此命令不常用,只需了解就行不必深究)
alter  sequence  序列名  修改项;
删除序列sequence
drop sequence 序列名;


示图

创建示图:
creating  views 示图名;

示图就相当于一条select 语句,定义了一个示图就是定义了一个sql语句,示图不占空间,使用view 不会提高性能,但是能简单化sql语句
(扩展知识: oracle  8i 以后的新示图)
MV  物化视图(占存储空间,把select 结果存在一个空间,会提高查询视图,增强实时性,但是存在刷新问题,物化示图中的数据存在延迟问题,主要应用在数据仓库中用要用于聚合表)

使用示图的好处:控制数据访问权限。

如何创建一个示图的例子:
create or replace views test_vi as select * from test1 where c1=1;

or replace的意义,如果view存在就覆盖,不存在才创建。
force|no force ,基表存在是使用,不存在是则创建该表。

此时往表test1(base table 基表)中插入数据时:表中没能变化,示图中的数据发生改变
从示图中插数据时相对应的表会发生改变:
往示图中插数据时,会直接插进基表中,查看示图中的数据时,相当于就是执行创建时的select语句。

限制对数据库的访问,简化查询。
简单示图:来自于单表,且select语句中不能包括函数,能进行DML操作。
复杂示图:来源于多张表,不能执行DML操作。

试图的约束
with read only 示图只读约束(O)
with check option 不允许插入与where条件不符的记录,类似于check约束的功能(V)

在select from 后也可以使用子查寻,这个写法也叫做内嵌示图
例:
select first_name,salary,avgsal from s_emp e,(select dept_id,avg(salary) avgsal from s_emp group by dept_id) s where e.dept_id=s.dept_id and e.salary>s.avgsal;

删除示图 drop views 示图名;
回复此楼

» 猜你喜欢

好好学习,天天向上。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

HowToSignUp

银虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
麻烦能不能讲点物化视图,和建立20个序列增加效率的原因,谢谢。
2楼2012-12-09 17:47:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zyj8119 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 312求调剂 +6 小小墨123 2026-04-02 7/350 2026-04-03 07:32 by jsw79
[考研] 一志愿211,335分,0856,求调剂院校和导师 +15 倾____萧 2026-03-27 16/800 2026-04-02 22:50 by JourneyLucky
[考研] 一志愿大工学硕,求调剂 +4 yub0811 2026-04-02 4/200 2026-04-02 21:36 by 百灵童888
[考研] 282求调剂 +18 ycy1201 2026-04-01 20/1000 2026-04-02 16:39 by liumengping
[考研] 318求调剂,计算材料方向 +10 吸喵有害笙命 2026-04-01 11/550 2026-04-02 16:29 by oooqiao
[考研] 314求调剂 +11 1xiaojun23 2026-03-31 12/600 2026-04-02 12:31 by 1xiaojun23
[考研] 298求B区调剂 +4 zzz,,r 2026-04-02 5/250 2026-04-02 12:17 by 土木硕士招生
[考研] 272求调剂,接受跨专业调剂! +4 闲鱼卢 2026-03-31 4/200 2026-04-02 11:18 by guyan1000
[考研] 324求调剂 +5 想上学求调 2026-04-01 6/300 2026-04-02 10:16 by sanrepian
[考研] 【求调剂】新能源材料本科,一志愿211,初试321 +6 求调剂学校, 2026-04-02 6/300 2026-04-02 09:41 by 晴空210210
[考研] 348环境工程调剂 +3 吴彦祖24k 2026-04-01 3/150 2026-04-02 09:14 by nanaliuyun
[考研] 一志愿北交材料工程总分358 +5 cs0106 2026-04-01 7/350 2026-04-01 11:45 by wangjy2002
[考研] 322求调剂 +8 三水sss 2026-04-01 8/400 2026-04-01 10:19 by 唐沐儿
[考研] 一志愿西交大080500材料学硕349 +6 jqx1258 2026-03-31 7/350 2026-03-31 21:08 by yuq
[考研] 一志愿华东师范大学有机化学专业,初试351分,复试被刷求调剂! +9 真名有冰 2026-03-29 10/500 2026-03-31 18:01 by xhai2011
[考研] 085602 化学工程专硕 340分求调剂 +4 qianbai11 2026-03-29 4/200 2026-03-30 11:34 by 唐沐儿
[考研] 296求调剂 +10 彼岸t 2026-03-29 10/500 2026-03-30 10:50 by 探123
[考研] 312,生物学求调剂 +3 小译同学abc 2026-03-28 3/150 2026-03-28 15:32 by 落睿可思
[考研] 331环境科学与工程求调剂 +3 熠然好运气 2026-03-27 3/150 2026-03-28 04:11 by fmesaito
[考研] 295求调剂 +5 1428151015 2026-03-27 6/300 2026-03-28 04:04 by fmesaito
信息提示
请填处理意见