CREATE TYPE(嵌套表)语句 (PL/SQL)
CREATE TYPE(嵌套表)语句用于定义按 INTEGER 数据类型建立下标的关联数组。
调用
可以从 命令行处理器 (CLP)、任何受支持的交互式 SQL 界面、应用程序或例程中执行此语句。
权限
此语句的授权标识所拥有的特权必须至少包括下列其中一项:
- 如果嵌套表类型的模式名不存在:对数据库的 IMPLICIT_SCHEMA 权限
- 如果嵌套表类型的模式名引用现有模式:对该模式的 CREATEIN 特权
- DBADM 权限
语法
描述
- OR REPLACE
- 指示当模式中已存在同名的用户定义数据类型时,新数据类型将替换现有数据类型。如果未指定此选项,那么新数据类型无法替换同一模式中现有的同名数据类型。
- assocarray
- 指定关联数组类型的标识。
- datatype
- 指定受支持的数据类型,例如 NUMBER、VARCHAR2、RECORD、VARRAY 或关联数组类型。
示例
以下示例从 EMP 表中读取前 10 个职员姓名,将它们存储在嵌套表中,然后显示其内容。
SET SERVEROUTPUT ON
/
CREATE OR REPLACE TYPE emp_arr_typ IS TABLE OF VARCHAR2(10)
/
DECLARE
emp_arr emp_arr_typ;
CURSOR emp_cur IS SELECT ename FROM emp WHERE ROWNUM <= 10;
i INTEGER := 0;
BEGIN
FOR r_emp IN emp_cur LOOP
i := i + 1;
emp_arr(i) := r_emp.ename;
END LOOP;
FOR j IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(emp_arr(j));
END LOOP;
END /