Oracle数据库实验报告四使用SQL进行数据操作

实验四 使用SQL进行数据操作

-by QQC from BTBU

【实验目的】
掌握INSERT、UPDATE与DELETE的使用。
【实验内容】
1.用hr用户连接数据库后,设置为非自动提交方式,并设置一保留点。

此处有坑,你最后就知道了哈哈

用hr用户连接数据库后,设置为非自动提交方式,并设置一保留点。

2.手动为COUNTRIES表添加一些数据,例如(RU,Russia,1)。

提示:insert

手动为COUNTRIES表添加一些数据,例如(RU,Russia,1)
手动为COUNTRIES表添加一些数据,例如(RU,Russia,1)

3.新建表PERSON(EMPLOYEE_ID,NAME,EMAIL,PHONE_NUM,LOCATION),表中数据从表EMPLOYEES中提取,条件是LAST_NAME以S开头,NAME为FIRST_NAME与LAST_NAME的合并,LOCATION列以NULL填充。

提示:用子查询创建
新建表PERSON(EMPLOYEE_ID,NAME,EMAIL,PHONE_NUM,LOCATION),表中数据从表EMPLOYEES中提取,条件是LAST_NAME以S开头,NAME为FIRST_NAME与LAST_NAME的合并,LOCATION列以NULL填充。
在这里插入图片描述

4.将表JOB_HISTORY中的END_DATE列的值均改为今天。

提示:update
将表JOB_HISTORY中的END_DATE列的值均改为今天

5.在EMPLOYEES表中,将雇用时间在2000年以前的员工的工资上调300。

提示:update
在EMPLOYEES表中,将雇用时间在2000年以前的员工的工资上调300

6.用MERGE命令,将EMPLOYEES表中剩余的员工补充到表PERSON中。

提示:merge 不清楚看教程,或百度查询 oracle merge
用MERGE命令,将EMPLOYEES表中剩余的员工补充到表PERSON中

7.删除PERSON中,所有NAME以B开头的员工的记录。

提示:delete 满足条件删除

删除PERSON中,所有NAME以B开头的员工的记录

8.用TRUNCATE清空PERSON表。

提示:truncate 无条件清空表记录
用TRUNCATE清空PERSON表

9.撤销所有操作到第一步设置的保留点。

这步其实是我在这里重新创建了一个保留点然后rollback的,最上面的保留点在上一步已经无了,具体原因如下提示。

撤销所有操作到第一步设置的保留点

提示
delete语句是DML语言,这个操作会放在rollback segement中,事物提交后才生效;如果有相应的触发器(trigger),执行的时候将被触发。
truncate、drop是DDL语言,操作后即生效,原数据不会放到rollback中,不能回滚,操作不会触发trigger。

猜你喜欢

转载自blog.csdn.net/AQ_No_Happy/article/details/110670785