`
123003473
  • 浏览: 1061415 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

PL/SQL 集合类型

 
阅读更多
--创建一个类型
CREATE OR REPLACE TYPE Project IS  OBJECT (
  project_no NUMBER(2),
  title VARCHAR2(35),
  cost NUMBER(7,2))
--创建一个集合
CREATE OR REPLACE TYPE ProjectList is table of  Project



-- Created on 2011-10-11 by HUCHANGKUN
declare
  -- Local variables here
  i integer;
  V_LIST projectlist := projectlist();
  V_PRO project :=project(NULL,NULL,NULL);
begin
  --为集合增加元素
  FOR I IN 1 ..4 LOOP
      V_PRO.project_no := I;
      V_PRO.title := I||' TITLE';
      V_PRO.cost := I;
      V_LIST.EXTEND;
      V_LIST(V_LIST.COUNT):=V_PRO;
  END LOOP;
 
  --从集合中取元素
  DBMS_OUTPUT.put_line(V_LIST.COUNT);
 
  DBMS_OUTPUT.put_line(V_LIST(V_LIST.FIRST).project_no);
  DBMS_OUTPUT.put_line(V_LIST(V_LIST.LAST).project_no);
end;

--注意project(I,I||' TITLE',I);
-- Created on 2011-10-11 by HUCHANGKUN
declare
  -- Local variables here
  i integer;
  V_LIST projectlist := projectlist();
  --V_PRO project :=project(NULL,NULL,NULL);
begin
  -- Test statements here
  FOR I IN 1 .. 8 LOOP
      --V_PRO.project_no := I;
      --V_PRO.title := I||' TITLE';
      --V_PRO.cost := I;
      V_LIST.EXTEND;
      V_LIST(V_LIST.COUNT) := project(I,I||' TITLE',I);
  END LOOP;
 
  DBMS_OUTPUT.put_line(V_LIST.COUNT);
 
  DBMS_OUTPUT.put_line(V_LIST(V_LIST.FIRST).project_no);
  DBMS_OUTPUT.put_line(V_LIST(V_LIST.LAST).project_no);
end;


【注意】
create type zjj as object (n number);
这个可以建立一个数据的类型对象,以后可以在其他地方引用,
而type zjj is record仅仅是声明一种类型,只能在存储过程里面使用
create table zjj1 of zjj 这个用法是有的
分享到:
评论

相关推荐

    pl/sql最新中文手册

    6. **复合类型**:PL/SQL支持数组、集合和记录等复合类型,这些使得处理复杂数据结构变得可能。手册会详细介绍这些类型的创建和使用。 7. **包(Packages)**:包是将相关的过程、函数和变量封装在一起的一种方式,...

    PL/SQL语法帮助

    - **记录和集合**:用于存储多条数据,可以是自定义类型的记录或标准的PL/SQL集合类型。 - **包**:封装相关的过程、函数和变量,提供模块化的代码组织。 学习PL/SQL不仅有助于你更好地管理Oracle数据库,还能提升...

    oracle pl/sql从入门到精通 配套源代码

    此外,PL/SQL还支持集合类型,如VARRAY(可变数组)和TABLE(表类型),这对于处理大量数据非常有用。 这本书的配套源代码可能会涵盖以下几个方面: 1. **基础操作**:包括简单的SQL查询、变量声明、流程控制...

    ORACLE PL/SQL从入门到精通

    PL/SQL软件包是一组相关的过程和函数的集合,它可以用来组织和管理程序。软件包由两部分组成,说明部分和包体部分,分别用于声明公共接口和实现逻辑。 异常处理在PL/SQL中用来处理程序运行时发生的错误。PL/SQL预定...

    Oracle PL/SQL程序设计(第5版)(上下册)

    - **集合与记录**:学习如何使用PL/SQL中的集合和记录类型,这些结构可以帮助更高效地处理数据集。 - **游标**:介绍游标的使用方法,包括隐式游标和显式游标,以及如何利用游标遍历查询结果。 #### 四、PL/SQL中的...

    PL/SQL编程基础知识

    - **程序包**:集合了一系列相关的子程序、类型定义和其他PL/SQL元素,便于管理和复用。 **2.3 标识符规则** PL/SQL中的标识符遵循以下规则: - 标识符长度不能超过30个字符。 - 第一个字符必须是字母。 - 不区分...

    PL/SQL doc 文件

    * 包:是一组相关的 PL/SQL 程序块的集合。 * 触发器:是一种特殊的存储程序,用于自动执行某些操作。 定义函数的语法: CREATE [OR REPLACE] FUNCTION function_name [(argument [IN|OUT|IN OUT] datatype)] ...

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    2. **复合数据类型**:介绍PL/TABLE、记录类型(%ROWTYPE)以及集合类型(VARRAY和NESTED TABLE),这些都是处理大量数据或构建复杂数据结构的关键工具。 3. **游标**:讲解如何使用显式和隐式游标进行查询和遍历...

    Oracle Database 12c PL/SQL开发指南 实例源代码

    5. **集合类型**:包括数组(PLS_INTEGER索引的PL/SQL表)和关联数组(索引由非数字类型的值定义),以及如何在集合中插入、删除和迭代元素。 6. **包(PACKAGE)**:创建和使用包来组织相关的过程和函数,实现模块...

    PL/SQL安装包

    5. **数据操作**:除了标准的SQL查询,PL/SQL还支持集合操作,如BULK COLLECT和FORALL,可以高效地处理大量数据。 6. **游标**:PL/SQL中的游标允许逐行处理查询结果,是处理复杂数据操作的重要工具。 7. **记录...

    PL/SQL入门到精通书的源代码

    5. **过程与函数**:过程是一组PL/SQL语句的集合,用于执行特定任务。函数与过程类似,但返回一个值。它们可以提高代码的复用性和模块化。 6. **异常处理**:PL/SQL提供了一个强大的异常处理机制,允许你定义和捕获...

    精通pl/sql

    5. **集合类型**:讨论PL/SQL中的集合类型,如数组、关联数组、表类型和索引表,以及它们在处理大量数据时的优势。 6. **包(PACKAGE)**:解释如何创建和使用包,包括包规范(PACKAGE SPECIFICATION)和包体...

    pl/sql 学习资料

    - 表类型:使用PL/SQL表类型进行集合操作。 -记录类型:定义和使用记录类型,类似于结构或对象。 5. **程序单元**: - 包(PACKAGE):定义公共接口和私有实现,提高代码复用性。 -存储过程和函数:创建存储在...

    PL/SQL编程(电子版)

    2. 全面的数据类型支持:PL/SQL兼容所有SQL数据类型和Oracle对象类型。 3. 可存储与可重用:PL/SQL块可以被命名并存储在数据库中,便于重复使用,并可通过任何客户/服务器工具访问。 4. 安全性:可以通过Oracle数据...

    Oracle PL/SQL程序设计(第5版)(下册)第二部分

    《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...

    oracle 中 pl/sql 只是学习方法

    3. **集合和游标**:集合是PL/SQL中处理多行数据的有效工具,如VARRAYs(固定大小数组)和associative arrays(关联数组)。游标则允许我们一行一行地处理查询结果,是处理动态数据的重要手段。 4. **存储过程和...

    PL/SQL development9.0.3

    2. **变量和数据类型**:PL/SQL支持多种内置数据类型,如NUMBER、VARCHAR2、DATE等,以及PL/SQL特有的记录和集合类型。 3. **流程控制语句**:包括IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环等,用于控制程序的...

    Oracle 11g pl/sql编程

    7. SQL优化:解释PL/SQL代码的优化方法,例如编写高效的SQL语句、使用PL/SQL集合类型减少数据库I/O操作等。 8. 安全性:包括PL/SQL代码的安全性、如何在代码中处理敏感信息以及如何在Oracle数据库中管理PL/SQL代码的...

    PL/SQL学习笔记

    复合类型包括记录类型和集合类型,其中集合类型又包括数组和表。参考类型是记录的引用,用于在PL/SQL程序中操作数据库表中的行。 PL/SQL支持多种流程控制语句,包括条件语句(如IF和CASE)以及循环语句(如FOR、...

Global site tag (gtag.js) - Google Analytics