广东科学技术职业学院
计算机工程技术学院(软件学院)
实 验 报 告
专业 班级 成绩评定______
学号 姓名 (合作者____号____) 教师签名
实验 题目 第 周星期 第 节
实验目的与要求 1.熟悉进入和退出SQL*Plus环境 2.加深理解假脱机输出的概念 3.掌握使用命令实现假脱机输出 4.掌握文件操作命令的使用 5.掌握替换变量的使用 6.掌握通信命令PROMPT、PAUSE、ACCEPT的使用 7.掌握格式化命令的功能和用法 8.掌握使用格式化命令对查询结果进行格式化 | ||||||||||||||||||||
一、 实验环境及方案 Windows Server 2000 sp1或更高版本;或Windows Server 2003的所有版本; 或Windows XP专业版; Oracle10g; Internet 环境及浏览器。 | ||||||||||||||||||||
二、 实验步骤 实训3.1 进入和退出SQL*Plus 目的和要求: 熟悉进入和退出SQL*Plus环境。 实验内容: 1.进入SQL*Plus环境 (1)在操作系统提示符下以下列方式执行 sqlplus <userid>/<password> sqlplus <userid> sqlplus (2)在操作系统界面执行 选择“开始”→ “程序”→“Oracle”→“OraHome90”→“Application Development”→“SQL Plus”,出现登录窗口。在登录窗口中,输入分配给你的用户名和口令,以及连接到服务器的主机字符串,然后单击“确定”按钮,即可进入SQL*Plus的工作环境。 2.退出SQL*Plus环境 退出SQL*Plus环境,在SQL>提示符下输入exit命令。 实训3.2 假脱机输出 目的和要求: ① 加深理解假脱机输出的概念 ② 掌握使用命令实现假脱机输出 实验内容: ① 将雇员表(EMP)的相关查询结果输出到文件d:\spool_emp.prn中。 SQL> Spool d:\spool_emp.prn SQL> SELECT ename,job,sal FROM EMP; SQL> SELECT deptno,count(*),sum(sal) FROM emp GROUP BY deptno; SQL> select job,avg(sal) from emp group by job; SQL> Spool off ② 练习:将以下实验的上机实验结果假脱机输出到文件中(学号+姓名.prn)。 实训3.3 使用文件操作命令 目的和要求: 掌握文件操作命令的使用。 实验内容: 在缓冲区编辑器中按步骤完成如下任务(在SQL>提示符下输入命令并运行) ① 用SQL命令显示部门信息表dept的内容; SQL>select * from dept; ② 将该SQL命令存入dept.sql文件; SQL> SAVE dept.sql ③ 清空缓冲区; SQL>DEL ④ 调入dept.sql文件到内存; SQL>GET dept.sql ⑤ 再次执行同样的SQL命令。 SQL>@ dept.sql 或 SQL>START dept.sql 实训3.4 使用替换变量 目的和要求: 掌握替换变量的使用。 实验内容: 分别在SQL*Plus环境下执行下列操作,观察和分析结果。 ① 创建一个替换变量empname,在查询中用&符号说明。 SQL>SELECT ename,job,sal FROM Emp WHERE ename=&empname; ② 接受用户的日期的SQL语句。 SQL> SELECT empno,ename,job,sal,deptno FROM Emp WHERE hiredate =’&h_date’; ③ 替换变量用于列名。 SQL>SELECT &Col_Name FROM dept; ④ 替换变量用于表达式。 SQL>SELECT ename,job FROM Emp WHERE &var; ⑤ 显示职位为‘SALESMAN’的雇员的姓名、职位、主管员工号、薪水。 SQL> DEFINE vjob=SALESMAN; SQL> SELECT ename,job,mgr,sal FROM Emp WHERE job='&vjob'; 原值 3: WHERE job='&vjob' 新值 3: WHERE job='SALESMAN' ENAME MGR SAL -------------------------------------------------------- ALLEN 7698 1600 WARD 7698 1250 MARTIN 7698 1250 TURNER 7698 1500 ⑥ 定义数值变量,在SQL语句里使用变量。使用完后将变量删除。 SQL>DEFINE Salary=1800; SQL>SELECT ename,job,sal FROM Emp WHERE sal> &Salary; UNDEFINE Salary; ⑦ 分析以下代码。 SQL>SELECT ename,job, &&Col FROM emp ORDER BY &&Col DESC; 实训3.5 与用户通信 目的和要求: 掌握通信命令PROMPT、PAUSE、ACCEPT的使用。 实验内容: ① PROMPT:prompt命令用于输出提示信息。 ② ACCEPT:accept命令的作用是接收用户的键盘输入,并把用户输入的数据存放到指定的变量中,它一般与prompt命令配合使用。 ③ PAUSE:使用方法之一为表示暂停脚本的执行。 SQL> input 1 prompt 显示工资高于输入值的员工信息 2 prompt 按<ENTER>键继续 3 pause 4 accept nsal number prompt '请输入工资:' 5 select empno,ename,sal from emp where sal>&nsal ; SQL> save n1 已创建 file n1.sql SQL> @ n1 显示工资高于输入值的员工信息 按<ENTER>键继续 请输入工资:2500 原值 1: select empno,ename,sal from emp where sal>&nsal 新值 1: select empno,ename,sal from emp where sal> 2500 EMPNO ENAME SAL ------------------------------------------------------------------------ 7566 JONES 2975 7698 BLAKE 2850 7839 KING 5000 7902 FORD 3000 7788 SCOTT 3000 实训3.6 格式化查询结果 目的和要求: ① 掌握格式化命令的功能和用法 ② 掌握使用格式化命令对查询结果进行格式化 实验内容: 1.使用格式化命令 ① 为列deptno设置标题为‘部门代码’。 SQL> COLUMN deptno HEADING ‘部门代码’; ② 为sal列定制格式。要求在每个值前加$符号作为前缀,并保留一个小数位。 SQL> COLUMN sal JUSTIFY RIGHT FORMAT $99,999.0; ③ 用‘- - ’替换所有空值。 SQL> COLUMN comm JUSTIFY RIGHT FORMAT 99999 NULL ‘--- ’ ; ④ 显示deptno的当前设置。 SQL> COLUMN deptno; ⑤ 限制重复行。 SQL> SELECT deptno,empno,ename,sal,comm FROM Emp; 可能有许多雇员属于同一个部门,那么在DepartmentID列将有重复值出现。 SQL> BREAK ON Deptno; SQL> SELECT deptno,empno,ename,sal,comm FROM Emp ORDER BY deptno; ⑥ 清除限制重复行的设置。 SQL> CLEAR BREAK; ⑦ 清除deptno列的设置。 SQL> COLUMN deptno CLEAR; 2.报表输出练习 打印雇员工资单。要求页标题显示‘工资单’,页脚显示‘财务部’,列标题分别为‘雇员号’、‘姓名’、‘职sql语句替换表中内容 位’和‘职 位’。报表输出格式如下 : 工资单
财务部 编写查询以显示SQL*Plus格式化输出。 | ||||||||||||||||||||
三、 实验结果 | ||||||||||||||||||||
四、 心得体会 | ||||||||||||||||||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论