执行结果为:? 雇员复制成功!? PL/SQL 过程已成功完成。? 步骤2:显示复制结果:? SELECT empno,ename,job FROM emp1;? 执行结果为:? ?
Sql代码?
- EMPNO?ENAME??????JOB ??
- -------------?--------------?----------------???
- ????7788??SCOTT??????ANALYST??
说明:emp_rec变量是根据emp表定义的记录变量,SELECT...INTO...语句将整个记录传给该变量。INSERT语句将整个记录变量插入emp1表,如果插入成功(SQL%FOUND为真),则提交事务,否则回滚撤销事务。试修改雇员编号为7902,重新执行以上程序。? 【训练2】? 输出雇员工资,雇员工资用不同高度的*表示。? 输入并执行以下程序:?
Sql代码?
- SET?SERVEROUTPUT?ON? ??
- BEGIN??
- ?FOR?re?IN?(SELECT?ename,sal?FROM?EMP)??LOOP ??
- ??DBMS_OUTPUT.PUT_LINE(rpad(re.ename,12,‘?‘)||rpad(‘*‘,re.sal/100,‘*‘)); ??
- ?END?LOOP; ??
- END;??
输出结果为:?
Sql代码?
- SMITH???????******** ??
- ALLEN???????????**************** ??
- WARD????????************* ??
- JONES???????????****************************** ??
- MARTIN??????************* ??
- BLAKE???????***************************** ??
- CLARK???????????***************************** ??
- SCOTT???????????****************************** ??
- KING????????????************************************************** ??
- TURNER??????*************** ??
- ADAMS???????*********** ??
- JAMES???????????********** ??
- FORD????????????****************************** ??
- MILLER??????????************* ??
- ?????????执行结果为: ??
- ????????PL/SQL?过程已成功完成。??
? 说明:第一个rpad函数产生对齐效果,第二个rpad函数根据工资额产生不同数目的*。该程序采用了隐式的简略游标循环形式。? 【训练3】? 编写程序,格式化输出部门信息。? 输入并执行如下程序:?
Sql代码?
- SET?SERVEROUTPUT?ON? ??
- ????????DECLARE??
- ?????????v_count?number:=0; ??
- ?????????CURSOR?dept_cursor?IS?SELECT?*?FROM?dept; ??
- ????????BEGIN??
- ??????????DBMS_OUTPUT.PUT_LINE(‘部门列表‘); ??
- DBMS_OUTPUT.PUT_LINE(‘---------------------------------‘); ??
- ?????????FOR?Dept_record?IN?dept_cursor?LOOP??? ??
- ?????????DBMS_OUTPUT.PUT_LINE(‘部门编号:‘||?Dept_record.deptno); ??
- ?????????DBMS_OUTPUT.PUT_LINE(‘部门名称:‘||?Dept_record.dname); ??
- ????????????DBMS_OUTPUT.PUT_LINE(‘所在城市:‘||?Dept_record.loc); ??
- DBMS_OUTPUT.PUT_LINE(‘---------------------------------‘); ??
- ??????v_count:=?v_count+1; ??
- ????????END?LOOP; ??
- ?????????DBMS_OUTPUT.PUT_LINE(‘共有‘||to_char(v_count)||‘个部门!‘); ??
- ????????END;??
输出结果为:?
Sql代码?
- 部门列表 ??
- ------------------------------------???
- 部门编号:10 ??
- 部门名称:ACCOUNTING ??
- 所在城市:NEW?YORK ??
- ------------------------------------???
- 部门编号:20 ??
- 部门名称:RESEARCH ??
- 所在城市:DALLAS ??
- ... ??
- 共有4个部门! ??
- PL/SQL?过程已成功完成。??
(编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|