第一篇:数据库实验心得体会
数据库实验心得体会
有关于数据库实验的心得体会,总的来说,受益匪浅。在这些天中,我们学到了很多东西,包括建表,导入数据,查询,插入。最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言,尽管自己对C语言非常感兴趣,但还是有些心理上的陌生感。学习数据库就和我们平时的其它科目学习一样感觉它有永无止境的知识,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的内容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的中国字典里的名词。我认识它是从我接触实验运作开始的,刚开始就是建立数据库,两种验证模式,没什么东西但还觉得不错。进而就是操作语言了,紧接着就是触发器的使用,进而对数据库高级的使用,等等。
开始知道数据库的时候想学,不知道从何而起,不懂的话怎么问,从什么地方学起。后来到大三开学后有数据库原理必修课,非常高兴。当时感觉SQL Sever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的内容。学了这门课以后发现和我想的基本是一样的,老师对学生也比较和蔼可亲,对我们要求也不是很紧。让每个人都觉得轻轻松松就能把这门课程学完,没有多么紧张的作业,也没有太苛刻的要求。
当老师在最后说这个课程结束了,回顾一下以前老师给我们讲过的东西,真的有很多是我们应该去注意的。学习完SQL Sever数据库后感觉可分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员。开发还需要有较强的逻辑思维和创造能力,自己没有真正做过,但感觉应该会比较辛苦,是青春饭;管理则需要对SQL Sever数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会弄掉整个数据库,相对前者来说,后者更看重经验。这些东西都是从老师哪里和朋友的讨论中得到的心得,也希望其他朋友能多多向老师和朋友请教,如果是个人单独靠自己来完成一个完美的数据库我觉得比较困难,现在基本上都是团队类型的,而且他们的效率高开发的周期也快。由于数据库管理的责任重大,很少公司愿意请一个刚刚接触SQL Sever的人去管理数据库。对于我们这些初出茅庐的新手而且电子商务的专业,个人认为可以先选择做管理,有一定经验后转型,去做数据库的开发。当然,这个还是要看人个的实际情况来定。
SQL Server数据库的实验学习使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。就像我学习C语言,当时不能说是学习的棒,但不算差。所以我对以后的语言感觉都不是很困难,了解了VB、C++还有网页中用的Html语言、asp语言都能看懂,起码可以对别人的东西进行了一下修改。因此,我感谢数据库老师给了我有用的知识,以便我在以后学习或认识更多的内容能有新的方法和思维,也能更加有效和快速的去消化吸收新的东西。希望在今后中,SQL Server能给我更多帮助。感谢学校开设这样一门优秀使用的课程,让我对数据库有了更深的了解。
第二篇:数据库实验心得体会
数据库实验心得体会
有关于数据库实验的心得体会,总的来说,受益匪浅。在这些天中,我们学到了很多东西,包括建表,导入数据,查询,插入。最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言,尽管自己对C语言非常感兴趣,但还是有些心理上的陌生感。学习数据库就和我们平时的其它科目学习一样感觉它有永无止境的知识,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的内容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的中国字典里的名词。我认识它是从我接触实验运作开始的,刚开始就是建立数据库,两种验证模式,没什么东西但还觉得不错。进而就是操作语言了,紧接着就是触发器的使用,进而对数据库高级的使用,等等。
开始知道数据库的时候想学,不知道从何而起,不懂的话怎么问,从什么地方学起。后来到大三开学后有数据库原理必修课,非常高兴。当时感觉SQL Sever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的内容。学了这门课以后发现和我想的基本是一样的,老师对学生也比较和蔼可亲,对我们要求也不是很紧。让每个人都觉得轻轻松松就能把这门课程学完,没有多么紧张的作业,也没有太苛刻的要求。
当老师在最后说这个课程结束了,回顾一下以前老师给我们讲过的东西,真的有很多是我们应该去注意的。学习完SQL Sever数据库后感觉可分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员。开发还需要有较强的逻辑思维和创造能力,自己没有真正做过,但感觉应该会比较辛苦,是青春饭;管理则需要对SQL Sever数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会弄掉整个数据库,相对前者来说,后者更看重经验。这些东西都是从老师哪里和朋友的讨论中得到的心得,也希望其他朋友能多多向老师和朋友请教,如果是个人单独靠自己来完成一个完美的数据库我觉得比较困难,现在基本上都是团队类型的,而且他们的效率高开发的周期也快。由于数据库管理的责任重大,很少公司愿意请一个刚刚接触SQL Sever的人去管理数据库。对于我们这些初出茅庐的新手而且电子商务的专业,个人认为可以先选择做管理,有一定经验后转型,去做数据库的开发。当然,这个还是要看人个的实际情况来定。
对于学习SQL Server数据库从网络上找资料我认为是比较好的,现在的网络又这么的发达应该去充分利用。这里有SQL Server的各种版本的数据库、应用工具和权威的官方文档。虽然我是个新手,但是常到哪些相关的数据库论坛或是网站觉得每次的收获都不小,网络对我来说可是个重要的东西,除了SQL Server数据库对于其它的一些电脑知识都从网络里学习了不少,我常用的一个搜索网站就是大家都熟悉的百度了。
以前没接触过它,现在认识了它才知道SQL Server的体系很庞大,要学习它,首先要了解的SQL Server框架。它有物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成),逻辑结构(表空间、段、区、块),内存分配(SGA和PGA)算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写,后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程),SCN(System Change Number)。这些东西感觉都比较专业,我对它们也就是个知道,想要真真去认识我还得努力去做。虽然懂得还不是很多,起码会了基本的软件操作,老师说我们用的都是客户端,服务端看不到,也不知道服务端是什么样的,只知道客户端就挺多东西的,没有真正的去学习利用是很难掌握的。
SQL Server数据库的实验学习使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。就像我学习C语言,当时不能说是学习的棒,但不算差。所以我对以后的语言感觉都不是很困难,了解了VB、C++还有网页中用的Html语言、asp语言都能看懂,起码可以对别人的东西进行了一下修改。因此,我感谢数据库老师给了我有用的知识,以便我在以后学习或认识更多的内容能有新的方法和思维,也能更加有效和快速的去消化吸收新的东西。希望在今后中,SQL Server能给我更多帮助。感谢学校开设这样一门优秀使用的课程,让我对数据库有了更深的了解。
第三篇:数据库实验
实验1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理数据库 实验内容:
(1)使用SSMS(SQL Server Management Studio)加入实验数据库。(2)使用SSMS可视化建立、修改和删除数据库、表。(3)使用SSMS对数据库进行备份和恢复。
(4)使用SSMS对表进行查询、插入、修改、删除。实验步骤:
(1)加入School数据库。(2)建立Test数据库。
(3)在数据库中建立人员表PERSON(P#,Pname,Page)。更改表设置P#为主键,增加属性Ptype(类型是CHAR,长度是10)。
(4)用SSMS的查询功能(新建查询)对PERSON表进行查询、插入、修改、删除等操作:首先插入两条记录;修改第二条记录;删除第二条记录。(5)备份Test数据库。(6)删除表PERSON。(7)恢复Test数据库。(8)删除Test数据库。
第四篇:数据库实验
3.实验步骤
在学生选课数据库中实现其查询操作,写出T-SQL语句(注:学生选课数据库为前三次实验课所建立的数
据库)
一、简单查询实验
(1)查询选修了课程的学生学号。
(2)查询选修课程号为0101的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按
学号升序排列。
(3)查询选修课程号为0101的成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。
二、连接查询实验
(1)查询每个学生的情况以及他(她)所选修的课程。
(2)查询选修离散散学课程且成绩为90分以上的学生学号、姓名及成绩。
(3)查询每一门课的间接先行课(即先行课的先行课)
三、嵌套查询操作
(1)查询0101课程的成绩高于张林的学生学号和成绩。
(2)查询其他系中年龄小于计算机系年龄最大者的学生。
(3)查询同王洪敏“数据库原理”课程分数相同的学生的学号。
(4)查询选修了全部课程的学生的姓名。
(5)查询与学号为09001103的学生所选修的全部课程相同的学生学号和姓名。
(6)查询至少选修了学号为09001103的学生所选修的全部课程的学生学号和姓名。
四、组合查询和分组查询
(1)查找选修“计算机基础”课程的学生成绩比此课程的平均成绩大的学生学号、成绩。
(2)查询年龄大于女同学平均年龄的男同学姓名和年龄。
(3)列出各系学生的总人数,并按人数进行降序排列。
(5)查询选修计算机基础和离散数学的学生学号和平均成绩。
4、要求
请按题号依次作答,完成在word文档中,写明班级学号姓名,于周日之于周日之前发至xcf7@163.com,独立完成,严禁抄
第五篇:数据库实验答案
实验四
五、实验方法和步骤:
1.向数据库的USERS表空间添加一个大小为10M的数据文件userdata02.dbf。
Alter tablespace users add datafile ‘c:oracleoradataorcluserdata02.dbf’ size 10M;2.向数据库的TEMP表空间添加一个大小为5N的临时数据文件temp02.dbf。
Alter tablespace temp add tempfile’c:oracleoradataorcltemp02.dbf’ size 5M;3.修改userdata02.dbf为自动增长方式,每次增长512k,没有限制大小。
Alter database datafile ‘c:oracleoradataorcluserdata02.dbf’ autoextend on next 512k maxsize unlimited;
4.取消userdata02.dbf的自动增长方式。
Alter database datafile ‘c:oracleoradataorcluserdata02.dbf’ autoextend off;5.将userdata02.dbf大小设置为8MB。
Alter database datafile ‘c:oracleoradataorcluserdata02.dbf’ resize 8M;6.将userdata02.dbf设置为脱机。
Alter database datafile ‘c:oracleoradataorcluserdata02.dbf’ offline;7.将userdata02设置为联机。
Alter database datafile ‘c:oracleoradataorcluserdata02.dbf’ online;8.改变userdata02的名称。
(1)alter tablespace users offline;
(2)将userdata02.dbf重命名为userdata002.dbf;(3)alter tablesace users rename datafile ‘c:oracleoradataorcluserdata02.dbf’,‘c:oracleoradataorcluserdata002.dbf’;(4)alter tablespace users online;
9.查询数据文件信息(包括数据文件动态信息;数据文件详细信息;临时数据文件信息)。(1)select name,file#,status,checkpoint_change# from V$DATAFILE;
(2)select tablespace_name,bytes,autoextensible,file_name from DBA_DATA_FILES;(3)select tablespace_name,file_name,autoextensible from DBA_TEMP_FILES;
实验五 表空间、段、区、块的管理
五、实验方法和步骤:
1.编辑一个脚本文件TEST,脚本文件内容为创建一个永久性的Student表空间,区自动扩展,段采用手动管理方式,并执行脚本文件。
Create tablespace student datafile ‘c:oracleoradataora404orcltbs1_1.dbf’ 2.为数据库的student表空间添加一个大小为10MB的新的数据文件。
Alter tablespace student add datafile ‘c:oracleoradataora404orcltbs1_2.dbf’ size 10M 3.创建一个临时表空间mytemp,并为临时表空间添加一个大小为10MB的临时数据文件。
Create temporary tablespace mytemp tempfile ‘c:oracleoradataora404orcltemp1_1.dbf’ size 20M extent management local uniform size 16M;
Alter tablespace mytemp add tempfile c:oracleoradataora404orltemp1_2.dbf’ size 10M 4.将student表空间新添加的数据文件的大小改为20MB。
Alter database datafile c:oracleoradataora404orcltbs1_2.dbf’ resize 20M 5.将studnet表空间设置为offline;再设置为online。Alter tablespace student offline;Alter tablespace student online;6.将student表空间设置为只读状态。Alter tablespace student read only;7.为student表空间创建一个回退段。
Create rollback segment student_roll tablespace student;8.删除student表空间及其所有内容。
Drop tablespace student including contents;9.查询表空间基本信息。
Select tablespace_name, extent_management,a llocation_type, contents from DBA_TABLESPACE;10.查询表空间数据文件信息。
Select file_name, blocks, tablespace_name from DBA_DATA_FILES;11.统计表空间空闲空间信息。
SELECT TABLESAPCE_NAME “TABLESPACE”, FILE_ID, COUNT(*)“PIECES”, MAX(BLOCKS)“MAXIMUM”, MIN(BLOCKS)“MINIMUM”, AVG(BLOCKS)“AVERAGE”, SUM(BLOCKS)“TOTAL” FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME, FILE_ID;
12.查询表空间空闲空间大小。
SELECT TABLESPACE_NAME, SUM(BYTES)FREE_SPACES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME;
13.查询scott用户emp表的某个员工元组的物理地址(ROWID)。SELECT ROWID, EMPNO FROM SCOTT.EMP WHERE EMPNO=7369;
实验六 模式对象管理—基础表
五、实验方法和步骤:
1、创建一个表
目标:创建一个名为STUDENT的表,该表有ID(学号)、NAME(姓名)、SEX(性别)、COURSE(课程)、SCORE(成绩)字段,并保存在USER01表空间。
(1)在SQL*PLUS中执行使用CREATE TABLE语句在某一表空间中创建STUDENTS表,并通过INSERT、SELECT、UPDATE、DELETE语句对表进行操作,各举一例。(2)通过OEM控制台新的表,并查看新表情况。Create table student(Id number primary key, Name varchar2(20), Sex char(1),Course varchar2(20), Score number(5,2))tablespace users
Insert into student(id)values(1);Select id from student;
Update student set id=2 where id=1;Delete from student where id=2;
2、创建一个临时表
目标:创建一个名为TEMP01的事务级别临时表,该表有ID(学号)、NAME(姓名)字段,并保存在temp表空间中。
Create global temporary table temp01(id number(2)primary key, name varchar(20))on commit delete rows;
3、修改表
目标:修改STUDENTS表的存储参数;为表分配新的存储空间;添加一个新的列;设置列为无用状态(UNUSED)。
(1)在SQL*PLUS中执行ALTER TABLE语句修改STUDENTS表的存储参数(修改pctfree和pctused分别为20和40)。
Alter table student pctfree 20;Alter table student ptused 40;
(2)在SQL*PLUS中执行ALTER TABLE语句在STUDENTS表分配大小为400KB的新区。Alter table student allocate extent(size 400k);
(3)在SQL*PLUS中执行ALTER TABLE语句在STUDENTS表新增加一个AGE列,列的类型为NUMBER(2)。Alter table student add(age number(2));
(4)在SQL*PLUS中执行ALTER TABLE语句在将STUDENTS表中的AGE设置为无用状态。Alter table student set unused(age);
4、截断表
目标:删除表STUDENTS中的所有记录。
(1)在SQL*PLUS中执行TRUNCATE TABLE语句删除STUDENTS表中的所有记录。Truncate table student;
(2)在SQL*PLUS中执行SELECT语句查看STUDENTS表中的内容。Select * from student;
5、查询ORACLE数据库的模式对象信息
目标:使用管理工具(SQL*PLUS或OEM)获得有关数据库模式对象的有关信息。
(1)用SCOTT帐户登录SQL*PLUS,显示用户,并通过用户视图USER_TABLES、USER_VIEWS、USER_INDEXS、USER_OBJECTS、USER_TRIGGERS、USER_SEQUENCES等模式对象信息。Show user
Select table_name from user_tables;Select view_name from user_views;Select index_name from user_indexes;Select object_name from user_objects;Select trigger_name from user_triggers;Select sequence_name from user_sequence;
(2)使用SCOTT帐户登录数据库,在OME控制台中查看SCOTT用户的各种模式对象信息。
6、给表student表的nane列添加一个唯一值约束,并删除该约束 Alter table student add constraint p_uk unique(name);Alter table student drop drop constraint p_uk;
实验七 模式对象管理—视图
五、实验方法和步骤:
1、创建基础表BOOKS,包含BOOK_ID,数字型,BOOK_NAME,可变长50位,AUTHOR,可变长20位,PRESS可变长50位,Price数字型,PUBLISH_DATE,日期型;并插入10条数据。Create table books(Book_id number primary key, Book_name varchar2(50)not null, Author varchar2(20), Press varchar2(50), Price number, Publishdate date);
2、关系视图
(1)建立关系视图V_BOOKS,包含书名、作者、出版社。Create view v_books as
Select book_id 编号,author 作者,press 出版社
from books;(2)查看视图定义。
Select text from user_views where view_name=’VW_BOOKS’;(3)查看视图内容。
Select * from vw_books;
(4)修改视图,增加一个列出版日期。
Create or replace view VW_BOOKS As
select book_id 编号,author 作者,press 出版社,publishdate 出版日期
from books;(5)向基础表增加一个属性列“价格”,数字型。查看视图的可用性状态。
alter table boks add price int;
Select object_name,status from user_objects where object_name=’VW_BOOKS’ and object_type=’VIEW’;
(6)重新编译V_BOOKS视图。再查看视图的可用性状态
alter view vw_books compile
Select object_name,status from user_objects where object_name=’VW_BOOKS’ and object_type=’VIEW’;(7)删除该视图。
drop view vw_books;
3、内嵌视图
(1)查询价格由高到低处于前三位的书本信息,注意采用内嵌视图的方式实现。
select * from
(select book_id,book_name ,price from books
order by price desc)where rownum<=3;
(2)利用内嵌视图将所有书籍的价格增加10元。
update(select price from books)set price=price+10
实验十 PL/SQL程序结构
五、实验方法和步骤:
1.在SQL*Plus中使用PL/SQL块处理EMP表中职工号7788的职工,如果工资小于5000那么把工资更改为5000。
(1)首先采用SCOTT用户登录;(2)查询7788员工的工资是多少;
(3)定义声明块和执行块,修改该员工工资;(4)再查询该员工工资是多少; SQL>DECLARE
X NUMBER(7,2);BEGIN
SELECT sal INTO x FROM emp WHERE empno = 7788;
IF x < 5000
THEN UPDATE emp SET sal = 5000 WHERE empno = 7788;END IF;END;
2.利用三种循环控制结构向表中插入150条记录。(1)创建一张表,用来记录循环指针的值;
Create table temp_table(num_col number, info_col char(10));(2)利用LOOP循环向表中插入前50条记录; DECLARE
v_counter BINARY_INTEGER :=1;BEGIN
LOOP
INSERT INTO temp_table values(v_counter,’loop index’);
v_counter := v_counter+1;
EXIT WHEN v_counter>50;
END LOOP;END;
(3)利用WHILE循环向表中插入51-100条记录; DECLARE
v_counter BINARY_INTEGER :=1;BEGIN
WHILE v_counter<100 LOOP
INSERT INTO temp_table values(v_counter,’loop index’);
v_counter := v_counter+1;
END LOOP;END;
(4)利用FOR循环向表中插入101-150条记录; DECLARE
v_counter BINARY_INTEGER :=1;BEGIN FOR v_counter IN 101..150 LOOP
INSERT INTO temp_table values(v_counter,’loop index’);
END LOOP;END;
(5)查看表中的信息。
SLELECT * FROM TEMP_TABL
实验十一 游标
五、实验方法和步骤:
1.声明显式游标
声明一个游标用来读取基表EMP中部门号是20且工作为分析员的职工: DECLARE Cursor c1 IS
SELECT ename, sal, hiredate FROM emp WHERE deptno = 20 AND job = 'ANALYST';v_ename VARCHAR2(10);v_sal NUMBER(7,2);v_hiredate date;begin OPEN c1;
FETCH c1 INTO v_ename, v_sal, v_hiredate;CLOSE c1;end;
2.游标的应用
(1)利用游标修改数据,如果EMP中部门号是20,工作为分析员的职工工资小于5000,更改为5000: DECLARE CURSOR c1 IS
SELECT empno, sal, hiredate, rowid
FROM emp WHERE deptno = 20 AND job = 'ANALYST' FOR UPDATE OF sal;emp_record c1%ROWTYPE;BEGIN OPEN c1;LOOP
FETCH c1 INTO emp_record;EXIT WHEN c1%NOTFOUND;IF emp_record.sal <5000 THEN
UPDATE emp set sal = 5000 where empno = emp_record.empno;END IF;END LOOP;CLOSE c1;END;
(2)利用游标,如果部门是SALES,地址不是DALLAS的,地址更改为DALLAS;如果部门不是SALES,地址不是NEW YORK的,地址更改为NEW YORK: DECLARE CURSOR c1 IS SELECT dname, loc FROM dept FOR UPDATE OF loc;Dept_rec c1%ROWTYPE;BEGIN OPEN c1;LOOP
FETCH c1 INTO dept_rec;EXIT WHEN c1%NOTFOUND;
IF dept_rec.dname = 'SALES' AND dept_rec.loc!= 'DALLAS'
THEN UPDATE dept SET LOC = 'DALLAS' WHERE CURRENT OF C1;ELSE IF DEPT_REC.DNAME!= 'SALES' AND DEPT_REC.LOC!= 'NEW YORK' THEN UPDATE dept SET LOC = 'NEW YORK' WHERE CURRENT OF C1;END IF;END LOOP;CLOSE c1;END;
实验十二 存储过程和函数
1.编写一个存储过程,用它显示scott.dept、scott.emp表中各部门的名称、员工总
数以及员工的工资总和和平均工资。
set serverout on;
create or replace procedure outputEMP as begin declare
cursor cEMP is
select dname,count(*),avg(sal),sum(sal)
from scott.emp,scott.dept
where scott.emp.deptno=scott.dept.deptno
group by dname;
d_name varchar2(14);
count_EMP number;
sum_sal number(7,2);
avg_sal number(7,2);
begin
open cEMP;
fetch cEMP into d_name,count_EMP,avg_sal,sum_sal;
while cEMP %found loop
dbms_output.put_line(d_name||','||count_EMP||','||avg_sal||','||sum_sal);
fetch cEMP into d_name,count_EMP,avg_sal,sum_sal;
end loop;
close cEMP;
end;
end outputEMP;2.编写一个函数,用它计算0到指定数字(作为函数输入参数)之间的整数和。set sertverout on;
create or replace function get_sum(maxNUM number)return number as begin
declare sumNUM number;
i number;
begin
sumNUM:=0;
i:=maxNum;
while i>0 loop
sumNUM:=sumNUM+i;
i:=i-1;
end loop;
return sumNUM;
end;end get_sum;
实验十三 触发器
1.编写一个触发器,用它把数据库系统的关闭事件记录到一个表(表结构自己设计)内。Create table shutdown_log(shut_user varchar2(20),shut_time date,shut_action varchar2(20));
create or replace trigger shutdown_record before shutdown on database begin
insert into shutdown_log values(user,sysdate,'关闭数据库');end;
2.编写一个行触发器,把emp表增、删、改操作前后员工的姓名和工资前后变化情况显示处理。create or replace trigger trg_emp_dml_row
Before insert or update or delete on scott.emp
For each row
Begin
If inserting then
Dbms_output.put_line(:new.empno||’ ’||:new.ename);
Elsif updating then
Dbms_output.put_line(:old.sal||’ ’||:new.sal);
Else
Dbms_output.put_line(:old.empno||’ ’||:old.ename);
End if;
End trg_emp_dml_row;