来源:http://blog.youkuaiyun.com/shaoduo/article/details/69523326
1.%TYPE
定义一个变量,其数据类型与已经定义的某个数据变量的类型相同,或者与数据库表的某个列的数据类型相同,这时可以使用%TYPE。
说白了就是将查询到的某个列的结果要赋给 一个变量这会就用到了 %TYPE
例:
---查询员工号为7369的补助
declare
empcom emp.comm%type ; --声明一个empcom变量
begin
select comm into empcom from emp where empno=7369 ;---将查到的comm类型的结果值放到 empcom变量里
dbms_output.put_line('员工补助是'||empcom) ;--- ||是连接字符用到
end ;- 1
- 2
- 3
- 4
- 5
- 6
- 7
declare 声明部分定义了一个empcom 变量它的类型是 emp的comm属性,意味着 后边的程序将列值取出赋值给empcom 变量。
select comm into empcom from emp where empno=7369 ;
select … into… 表示将 查询结果 赋给 empcom 。
2.%rowtype
PL/SQL 提供%ROWTYPE操作符, 返回一个记录类型, 其数据类型和数据库表的数据结构相一致。
使用%ROWTYPE特性的优点在于:
所引用的数据库中列的个数和数据类型可以不必知道;
所引用的数据库中列的个数和数据类型可以实时改变。
取出一个列的记录可以存到使用rowtype 定义的变量里。
---查询king员工的所有信息。 %rowtype 使用
declare
empmsg emp%rowtype ; -- 定义一个empmsg变量 存一行的数据
begin
select * into empmsg from emp where ename ='KING' ;
dbms_output.put_line(empmsg.ename||':'||empmsg.sal) ; ---输出
end ; - 1
- 2
- 3
- 4
- 5
- 6
- 7
本文详细介绍了PL/SQL中%TYPE和%ROWTYPE的使用方法及优势。%TYPE用于定义与已有变量相同类型的变量,适用于将查询结果赋值给变量的情形。%ROWTYPE则用于创建与数据库表结构一致的记录类型,方便获取表中一行的所有数据。
1万+

被折叠的 条评论
为什么被折叠?



