热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle11gRelease1(11.1)PL/SQLCollection方法

collection方法是一个内置的PLSQL子程序,可以返回collection信息,或是在collection上执行操作,很方便。你可以通过点记

collection 方法是一个内置的 PL/SQL 子程序,可以返回 collection 信息,或是在 collection 上执行操作,很方便。你可以通过点记

本文内容

  • EXISTS 方法
  • COUNT 方法
  • LIMIT 方法
  • FIRST 和 LAST 方法
  • PRIOR 和 NEXT 方法
  • EXTEND 方法
  • TRIM 方法
  • DELETE 方法
  • collection 方法是一个内置的 PL/SQL 子程序,可以返回 collection 信息,或是在 collection 上执行操作,很方便。

    你可以通过点记号来调用 collection 方法。语法如下图所示:

    collection_method_call

    图1 Collection Method 调用

    不能在 SQL 语句调用 collection 方法。

    当 collection 为空时,你只能使用 EXISTS 方法,使用其他方法都会抛出 COLLECTION_IS_NULL 异常。

    EXISTS 方法

    若 collection 中第 n 个元素存在,则 EXISTS(n) 返回 TRUE;否则,返回 FALSE。EXISTS 方法结合 DELETE 方法,会把 collection 变成稀疏 nested tables(sparse nested tables)。通过 EXISTS 方法,避免引用一个不存在的元素,从而产生异常。当传递一个超出范围的标值时,EXISTS 方法返回 FALSE,而不是产生 SUBSCRIPT_OUTSIDE_LIMIT 异常。

    示例1:演示检查元素是否存在

    ; n NumList := NumList(1,3,5,7); DBMS_OUTPUT.PUT_LINE( DBMS_OUTPUT.PUT_LINE('OK, element #99 does not exist at all.'); END IF;END;/

    COUNT 方法

    COUNT 返回 collection 中元素的当前数量。当你不知道 collection 中有多少元素时,很有用。例如,当你把获取的表的一列,放到一个 nested table 时,元素的数量取决于结果集的大小。

    对于 varray,COUNT 总是等于 LAST。通过 EXTEND 和 TRIM 方法,你可以增加或减少 varray 的大小,,因此,COUNT 值是变化的,取决于 LIMIT 方法的值。

    对于 nested tables,COUNT 方法通常等于 LAST 方法。然而,若你从 nested table 删除元素,则 COUNT 小于 LAST。当你整理元素时,COUNT 会忽略已删除的元素。使用不带参数的 DELETE 方法会设置 COUNT 为 0。

    备注:FIRST 方法和 LAST 方法返回最大和最小的索引数。后面说明。


    推荐阅读
    • 本文介绍了几个关于SQL查询中列使用的优化规则,包括避免使用SELECT *、指定INSERT列名、修改自增ID为无符号类型、为列添加默认值以及为列添加注释等。 ... [详细]
    • 本文介绍了如何将两个线性表LA和LB合并为一个线性表LA,并确保LA包含所有唯一元素。此外,还详细讲解了有序线性表的合并方法,确保合并后的线性表LC中的元素按非递减顺序排列。 ... [详细]
    • 编译过程涉及多个阶段,每个阶段都有其特定的任务和方法。本文详细介绍了编译过程的五个阶段:词法分析、语法分析、语义分析与中间代码生成、优化和目标代码生成。通过这些阶段,编译器将源代码转换为目标代码。 ... [详细]
    • 本文介绍了如何在 SQL Server 2005 中创建和使用数据库快照,包括创建数据库、数据表、插入数据、创建快照、查询快照数据以及使用快照进行数据恢复等操作。 ... [详细]
    • 8个IDC大数据基础定义解析丨IDC
      本文针对IDC数据行业相关名词术语进行解析,分为4组相关概念,希望大家读完 ... [详细]
    • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
    • 本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ... [详细]
    • 本文讲述了一位80后的普通男性程序员,尽管没有高学历,但通过不断的努力和学习,在IT行业中逐渐找到了自己的位置。从最初的仓库管理员到现在的多技能开发者,他的职业生涯充满了挑战与机遇。 ... [详细]
    • 理解GiST索引的空间构造原理
      通过空间思维解析GiST索引的构建方式及其在空间数据检索中的应用。 ... [详细]
    • 一关于t1表和testtb的索引设计二把主键放到二级索引的后面,会否占据更多的物理空间?三InnoDB的主键该如何选择,业务ID和自增 ... [详细]
    • 在运行于MS SQL Server 2005的.NET 2.0 Web应用中,我偶尔会遇到令人头疼的SQL死锁问题。过去,我们主要通过调整查询来解决这些问题,但这既耗时又不可靠。我希望能找到一种确定性的查询模式,确保从设计上彻底避免SQL死锁。 ... [详细]
    • 本文介绍如何在Access VBA中处理参数查询时将整数正确地传递给查询,避免因类型转换导致的数据类型不匹配错误。 ... [详细]
    • PostgreSQL 12 版本预览:分离 max_wal_senders 和 max_connections 的连接槽处理
      本文介绍了 PostgreSQL 12 中的一项重要改进,即 max_wal_senders 参数不再计入 max_connections,从而解决了流复制连接槽不足的问题。 ... [详细]
    • MySQL 5.7 服务端在 Windows 上的安装与配置
      本文详细介绍了在 Windows 系统上安装和配置 MySQL 5.7 服务端的方法,包括 my.ini 配置文件的设置、初始化数据库、启动服务以及设置用户权限等步骤。 ... [详细]
    • 本文介绍了如何在 SQL Server (MSSQL) 数据库中更新 XML 列中的属性和节点内容。 ... [详细]
    author-avatar
    572370080_8f9421
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有