广东科学技术职业学院
计算机工程技术学院(软件学院)
专业                  班级              成绩评定______
学号    姓名         (合作者________)  教师签名     
实验    题目              周星期        
实验目的与要求
1.熟悉进入和退出SQL*Plus环境
2.加深理解假脱机输出的概念
3.掌握使用命令实现假脱机输出
4.掌握文件操作命令的使用
5.掌握替换变量的使用
6.掌握通信命令PROMPTPAUSEACCEPT的使用
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 与用户通信
目的和要求:
掌握通信命令PROMPTPAUSEACCEPT的使用。
实验内容:
PROMPTprompt命令用于输出提示信息。
ACCEPTaccept命令的作用是接收用户的键盘输入,并把用户输入的数据存放到指定的变量中,它一般与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语句替换表中内容 。报表输出格式如下
工资单
雇员号
 
7369
SMITH
CLERK
$800.0
7499
ALLEN
SALESMAN
$1600.0
。。。
。。。
。。。
。。。
财务部
编写查询以显示SQL*Plus格式化输出。
三、 实验结果
四、 心得体会

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。