plsql使用自定义的嵌套表
来源:互联网 发布:英雄无敌for mac 编辑:程序博客网 时间:2024/05/29 09:10
存储过程在使用嵌套表时需要注意:
1.如果嵌套表是直接参照一个物理表的结构创建的,则可以直接使用,如:
create or replace procedure mytest2 is
CURSOR all_emps IS
SELECT * FROM emp;
TYPE emp_table IS TABLE OF emp%ROWTYPE;
emps emp_table;
I PLS_INTEGER;
l_count PLS_INTEGER;
BEGIN
l_count := 0;
emps := emp_table(); -- 初始化嵌套表并产生一条空记录
FOR c1 IN all_emps LOOP
l_count := l_count + 1;
emps.EXTEND;
emps(l_count).empno := c1.empno;
emps(l_count).ename := c1.ename;
emps(l_count).job := c1.job;
emps(l_count).mgr := c1.mgr;
emps(l_count).hiredate := c1.hiredate;
emps(l_count).sal := c1.sal;
emps(l_count).comm := c1.comm;
emps(l_count).deptno := c1.deptno;
END LOOP;
-- clone the first entry five times
emps.EXTEND(5, 1);
FOR i IN 1 .. l_count + 5 LOOP
DBMS_OUTPUT.PUT_LINE(TO_CHAR(emps(i).empno) || ' ');
END LOOP;
END;
2.如果嵌套表是自己定义的一个record,并根据record创建的嵌套表,则在使用时需要为record初始化,否则会报错,具体如下:
CREATE OR REPLACE TYPE emp_record is OBJECT (
EMPNO NUMBER(4),
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR VARCHAR2(4),
HIREDATE date,
SAL NUMBER(7,2),
COMM number(7,2),
DEPTNO number(2)
);
create or replace procedure mytest2 is
CURSOR all_emps IS
SELECT * FROM emp;
TYPE emp_table IS TABLE OF emp_record;
emps emp_table;
I PLS_INTEGER;
l_count PLS_INTEGER;
BEGIN
l_count := 0;
emps := emp_table(); -- 初始化嵌套表并产生一条空记录
FOR c1 IN all_emps LOOP
l_count := l_count + 1;
emps.EXTEND;
emps(l_count) := emp_record(null,null,null,null,null,null,null,null);
emps(l_count).empno := c1.empno;
emps(l_count).ename := c1.ename;
emps(l_count).job := c1.job;
emps(l_count).mgr := c1.mgr;
emps(l_count).hiredate := c1.hiredate;
emps(l_count).sal := c1.sal;
emps(l_count).comm := c1.comm;
emps(l_count).deptno := c1.deptno;
END LOOP;
-- clone the first entry five times
emps.EXTEND(5, 1);
FOR i IN 1 .. l_count + 5 LOOP
DBMS_OUTPUT.PUT_LINE(TO_CHAR(emps(i).empno) || ' ');
END LOOP;
END;
- plsql使用自定义的嵌套表
- PLSQL跳出嵌套循环的小例子
- 使用plsql导出oracle表的数据
- PLSQL:嵌套表的插入和遍历--查看详细的执行计划
- PLSQL 游标的使用
- plsql 的使用
- PLSql的使用
- PLSQL游标的使用
- PLSQL的使用
- 嵌套表的使用实例
- PLSQL嵌套块
- 自定义类型的嵌套定义
- PLSQL Developer工具的使用
- plsql developer的一些使用
- PLSQL的一些使用技巧
- PLSQL 配置工具的使用
- PLSQL Developer工具的使用
- 多字符集下PLSQL的使用
- 携程网JS接口
- C++中的单例模式
- JQuery Mobile 两个页面之间的参数传递
- 在chrome浏览器查看js源码时,中文乱码的解决
- POJ 1120
- plsql使用自定义的嵌套表
- HttpURLConnection请求数据流的写入(write)和读取(read)
- 转屏相关的权威解释
- 在一个应用中启动另一个已安装的应用
- intent 使用
- 我的C#之旅
- 经典IT职业面试英语问答
- android中动态实现全屏和动态退出全屏方法
- 通过sys.dm_exec_requests看index缺失情况