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;  再重新运行上面匿名程序块就可以了.

原文地址:https://www.cnblogs.com/darkdog/p/4268952.html