ORACLE %TYPE与%ROWTYPE

如果要定义一个类型与某个变量的数据类型或数据库表中某个列的数据类型一致的变量的变量, 可以使用%TYPE来实现.

如果要定义一个与数据库中某个表结构一致的记录类型的变量,可以使用%ROWTYPE.

以默认测试用户scott下的表做例子

注:安装的时候如果没解锁可以用sys登录,执行解锁语句: alter user scott account unlock;

1 DECLARE
2   v_ename emp.ename % TYPE;
3   v_emp emp % ROWTYPE;
4 BEGIN
5   SELECT ename INTO v_ename FROM emp WHERE empno = 7369;
6   SELECT * INTO v_emp FROM emp WHERE empno = 7499;
7   DBMS_OUTPUT.put_line(v_ename);
8   DBMS_OUTPUT.put_line(v_emp.empno|| ||v_emp.ename|| ||v_emp.job);
9 END;

输出结果:

SMITH
7499 ALLEN SALESMAN

 

注: 使用ORACLE自带的SQL Developer工具使用dbms_output.put_line有可能没有输出,  执行一下 SET SERVEROUTPUT ON;  再重新运行上面匿名程序块就可以了.

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。