oracle pl/sql之sql中的%type

    为了存储从数据查到的数据,首先要根据检索的数据列的数据类型定义变量,

然后用select语句中的into子句将检索到的数据保存到变量中。这里有一个前提条件,用户必须事先知道检索的数据烈性。

如果用户事先不知道检索的数据列的数据类型,这时就可以使用%type定义变量

 

sql语句演示: 查出工号为7839的员工的 姓名 工作 薪水 入职日期 部门号?

set serveroutput on;

declare

v_empno emp.empno%type;

v_ename emp.ename%type;

v_job emp.job%type;

v_sal emp.sal%type;

v_date emp.hiredate%type;

v_deptno emp.deptno%type;

begin

select empno,ename,job,sal,hiredate,deptno into v_empno,v_ename,v_job,v_sal,v_date,v_deptno from emp where empno=7839; dbms_output.put_line( v_empno||v_ename||v_job||v_sal||v_date||v_deptno);

end;

使用%type定义变量的好处:
1:用户不必查看数据类型就可以确保所定义的变量能够存储检索到的数据
2:如果对表的结构进行修改,呢么用户不必考虑对定义的变量进行更改
 
使用%type定义变量的缺点:
在程序的执行过程中,系统必须查看数据字典以确定变量的数据类型,因此会对程序的性能产生影响
posted @ 2015-10-20 15:30  逍遥鸣  阅读(734)  评论(0编辑  收藏  举报