设为首页 加入收藏

TOP

Oracle数据库的安全性和完整性控制(二)
2017-01-02 08:14:51 】 浏览:295
Tags:Oracle 数据库 安全性 完整性 控制
archar(10) not null,
sage number(4) constraint a2 check(sage<29),
ssex varchar(4) check(ssex in('男','女')));

(1)SQL> insert into student2 values(9000,'李二',27,'男');
(2)SQL> insert into student2 values(8888,'张三',23,'男');
insert into student2 values(8888,'张三',23,'男')
ORA-02290: 违反检查约束条件 (J2014213985.SYS_C0039970)
(3)SQL> insert into student2 values(9999,'张三',30,'男');
insert into student2 values(9999,'张三',30,'男')
ORA-02290: 违反检查约束条件 (J2014213985.A2)
3. 修改表Student的结构,由年龄小于29改为小于40。
SQL> alter table Student2 drop constraint a2;
SQL> alter table Student2 add constraint a2 check(sage<40);


(1)SQL> insert into student2 values(9994,'张三',30,'男')
(2)SQL> insert into student2 values(9996,'王五',40,'男');
insert into student2 values(9996,'王五',40,'男')
ORA-02290: 违反检查约束条件 (J2014213985.A2)
(3)SQL> insert into student2 values(9992,'',38,'男');
insert into student2 values(9992,'',38,'男')
ORA-01400: 无法将 NULL 插入 ("J2014213985"."STUDENT2"."SANME")
4. 建立职工表EMP,要求每个职工的应发工资不得超过3000元。应发工资实际上就是实发工资列Sal与扣除项Deduct之和。
create table EMP(
sname varchar(10) primary key,
salary number(10) check(salary<=3000),
Sal number(10),
Deduct number(10));
(1)SQL> insert into EMP values('李二',2600,2300,300);
(2)SQL> insert into EMP values('张三',3100,2900,200);
insert into EMP values('张三',3100,2900,200)
ORA-02290: 违反检查约束条件 (J2014213985.SYS_C0039991)
(3)SQL> insert into EMP values('李四',3001,2900,101);
insert into EMP values('李四',3001,2900,101)
ORA-02290: 违反检查约束条件 (J2014213985.SYS_C0039991)


对上述新建立和修改定义的表,每个表输入3条数据,其中1条数据符合完整性约束,2条违反约束条件的,验证和体会Oracle的实体完整性和参照完整性。


实验分析:


在本次数据库实验中,我完成了实验要求。本次实验内容是关于sql语言进行用户权限的授予和回收,实体完整性,参照完整性及用户定义的完整性的定义。在课堂上,老师讲授了oracle的安全性和完整性控制相关知识,我也用笔练习写了sql语句,但是感觉印象还不是很深刻,有些不太理解。在实验课中我练习了sql语句,对课堂上所学的知识有了更深的理解,收获很多。实验中,我遇到了一些问题,通过查询资料和老师同学帮助最终解决了。遇到的问题如下:


1、在授予权限时,grant <权限> on table <表名> to <用户> ;这样写后一直报错,后来同学告诉我不能加table ,因为oracle的数据库与数据库标准原理有一点区别,修改后,果然对了。


2、在切换用户时,我不知道怎么切换,记得老师讲过,就是想不起来具体怎么做,后来问了同学,同学告诉我这样写 con user/pass@orcl; 这样写果然切换用户成功了。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇PL/SQL插入记录:ORA-00001:违反.. 下一篇TOAD和PLSQL 默认日期显示、rowid..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目