| 
                          执行结果为:? 雇员复制成功!? 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?过程已成功完成。??
  
                          (编辑:鹰潭站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |