Oracle pl/sql编程 5---plsql中的%type

来源:互联网 发布:photoshop mac版下载 编辑:程序博客网 时间:2024/06/07 23:44
pl/sql中的%type
 
在上一篇博文中http://blog.csdn.net/gzhan1603/article/details/49231707,为了存储从数据查到的数据,首先要根据检索的数据列的数据类型定义变量,然后用select语句中的into子句将检索到的数据保存到变量中。这里有一个前提条件,用户必须事先知道检索的数据烈性。如果用户事先不知道检索的数据列的数据类型,这时就可以使用%type定义变量

  set serveroutput on;   --查出工号为7839的员工的 姓名 工作 薪水 入职日期 部门号?   declare   --姓名   v_ename emp.ename%type;   --工作   v_job emp.job%type;   --薪水   v_sal emp.sal%type;   --入职日期   v_hir emp.hiredate%type;   --部门号   v_deptno emp.deptno%type;   begin     --通过sql语句查所需要的值 注意顺序不能乱   select ename,job,sal,HIREDATE,deptno into v_ename,v_job,v_sal,v_hir,v_deptno from emp where empno=7839;   --将查到的值打印出来   dbms_output.put_line('工号7839的员工的姓名是'||v_ename||'工作'||v_job||'薪水'||v_sal||'入职日期'||v_hir||'部门号'||v_deptno);   end;

使用%type定义变量的好处:
1:用户不必查看数据类型就可以确保所定义的变量能够存储检索到的数据
2:如果对表的结构进行修改,呢么用户不必考虑对定义的变量进行更改

使用%type定义变量的缺点:
在程序的执行过程中,系统必须查看数据字典以确定变量的数据类型,因此会对程序的性能产生影响
2 0