在PL/SQL代码块中使用select into 赋值的话,有可能返回的是一个结果集.此时,如果使用基本类型或自定义的记录类型,将会报错. 因此,需要定义一个变量,是某种类型的集合.下面以一个基于表的行类型的集合为例简单介绍一下(相信基本类型同理吧). DECLARE CURSOR cur_tx IS SELECT GKEY from t ; SUBTYPE TX_TYPE IS t%ROWTYPE ; -- 定义类型 TYPE TX_TAB IS TABLE OF TX_TYPE;--定义新类
一.PL/SQL记录 定义: TYPE <类型名> IS RECORD <列名1 类型1,列名2 类型2,...列名n 类型n,> [NOT NULL] <列的类型>可以为Oracle的数据类行以及用户自定义类型;可以是记录类型的嵌套. 二.PL/SQL表 定义: TYPE <类型名> IS TABLE OF <列的类型> [NOT NULL] INDEX BY BINARY_INTEGER; <列的类型>可以为Oracle的数据类行
1.定义游标:列出每个员工的姓名.部门名称并编程显示第10个到第20个记录. declare cursor zemp_cursor is (select temp.ename, temp.dname from (select e.ename, d.dname, ROWNUM rn from zemp e, zdept d where e.deptno=d.deptno(+) ) temp ) ; begin for zemp_record in zemp_cursor loop --隐式打开游标
-- 1. 使用一个变量 declare -- Local variables here v_name ); begin -- Test statements here select t.user_name into v_name from pay_mer_order t ; dbms_output.put_line(v_name); end; -- 2. 使用多个变量 declare -- Local variables here v_name ); v_trans_no ); v_app_c