CREATE OR REPLACE PACKAGE BODY test AS
PROCEDURE proc_01 IS
--自定义记录
TYPE emp_record_type IS RECORD(
NAME emp.ename%TYPE,
sal emp.sal%TYPE,
dno emp.empno%TYPE);
emp_record emp_record_type;
--表记录
dept_record dept%ROWTYPE;
--索引表,嵌套表
TYPE ename_table_type IS TABLE OF emp.ename%TYPE INDEX BY BINARY_INTEGER;
TYPE emp_table_type IS TABLE OF emp_record_type INDEX BY BINARY_INTEGER;
ename_table ename_table_type;
emp_table emp_table_type;
TYPE name_table_type IS TABLE OF emp.ename%TYPE;
name_table name_table_type;
BEGIN
--01--使用自定义记录
SELECT emp.ename, emp.sal, emp.empno
INTO emp_record
FROM emp
WHERE emp.empno = '7788';
dbms_output.put_line(emp_record.sal);
--02--使用记录插入数据
dept_record.deptno := '9';
dept_record.dname := 'Joe';
dept_record.loc := 'China';
INSERT INTO dept VALUES dept_record;
--03--索引表
SELECT ename, sal, empno
INTO emp_table(-1)
FROM emp
WHERE emp.empno = '7788';
dbms_output.put_line(emp_table(-1).name);
--04--嵌套表
name_table := name_table_type('test', 'good'); --初始化
SELECT ename INTO name_table(1) FROM emp WHERE emp.empno = '7788';
name_table.extend(1,1);--增加一个和第1个元素相同的值
dbms_output.put_line(name_table(2)||'--'||name_table.count||'--'||name_table(3));
END proc_01;
END test;
PLSQL集合
最新推荐文章于 2022-01-06 15:52:19 发布