1.exists:判断某集合元素是否存在
declare
type ename_table_type is table of emp.ename%type;
ename_table ename_table_type;
begin
if ename_table.exists(1) then
dbms_output.put_line('存在');
else
dbms_output.put_line('不存在');
end if;
end;
/
2.count:返回集合元素的个数 例如:ename_table.count
3.limit:返回该集合允许的最大元素个数 索引表和嵌套无边界所以返回null 例如:ename_table.limit
4.first、last:返回集合第一个和最后一个元素的下标 例如:ename_table.first
5.frior、next:返回当前集合元素的前、后一个元素的下标 例如:ename_table.frior(5)
6.extend:用于扩展集合变量的尺寸,只适用于嵌套表和varray,有如下形式
extend:为集合变量添加一个null元素
extend(n):为集合变量添加n 个null元素
extend(n,i):为集合添加n个元素,元素值与第i个元素相同
7.trim:用于从集合尾删除元素, trim删除一个 trim(n)删除n个
8.delete 删除集合元素,只适用于嵌套和索引表
delete:删除所有元素 delete(n) 删除第n 个元素 delete(m,n)删除集合变量从m到n之间的所有元素
给集合赋null值,只需将一个集合等于另一个没赋值的集合
集合操作符:
1.set:返回取消特定嵌套表中的重复值的嵌套表
declare
type nt_table_type is table of integer;
nt_table nt_table_type := nt_table_type(2,4,3,2,1);
res nt_table_type;
begin
res := set(nt_table);
for i in 1..res.count loop
dbms_output.put_line(res(i));
end loop;
end;
/
2.multiset union:取得两个嵌套表的并集 用法:
result = nt1 multiset union nt2;
3.multiset union distinct:取得并集,去掉重复值
result = nt1 multiset union distinct nt2;
4.multiset intersect:取得交集
result = nt1 multiset intersect nt2;
5.multiset except:取差集
result = nt1 multiset except nt2;
集合的比较:
1. array_name is null:检测是否为空
2.ename_table1 = ename=table2:比较两个集合是否完全相同
嵌套表的:
3.cardinality:返回元素个数
4.submultiset of:是否是子表
5.member of:是否包含特定元素 v1 member of nt1
6.is a set:检测是否包含重复元素值 nt1 is a set
分享到:
相关推荐
5. **集合和记录**:PL/SQL支持数组(PL/SQL VARRAYs和PL/SQL TABLES)以及记录(用户定义的数据结构),方便处理多条数据或复杂数据结构。 6. **游标**:游标是用于遍历查询结果集的一种机制,允许我们一次处理一...
数据结构包括线性结构、树形结构、图结构和集合等,每种结构都有其特定的操作和应用。例如,线性结构如数组和链表,它们适用于顺序访问和遍历;树形结构如二叉树和堆,它们在搜索、排序等方面表现出色;图结构则在...
在复习PL/SQL时,以下是一些核心知识点: 1. **基本语法**:PL/SQL程序通常由`DECLARE`、`BEGIN`、`EXCEPTION`和`END`四个部分组成。`DECLARE`用于声明变量、常量、游标等;`BEGIN`是程序执行的主要部分,包含各种...
Oracle 选择题复习(带答案) 本资源摘要信息涵盖了 Oracle 数据库的多个方面,包括数据库启动和关闭、参数文件、控制文件、表空间、PL/SQL 编程、异常处理、数据库性能等。 参数文件 * 在参数文件中,以 # 符号...
为了帮助大家更好地复习Oracle的相关知识,本文将深入解析Oracle的体系结构、监听器设置、安全性、数据类型、SQL访问、视图、索引、表空间、PL/SQL编程等关键知识点。 #### 一、Oracle体系结构 Oracle数据库的体系...
在数据库管理中,PL/SQL是一种过程式语言,常用于Oracle数据库系统。在给定的文件中,有三个PL/SQL编程相关的示例: 1. 计算阶乘之和的PL/SQL块:这个代码段展示了如何使用PL/SQL循环计算1到10的阶乘之和。`DECLARE...
- 游标用于逐行处理查询结果,存储过程、函数和触发器是PL/SQL的应用,用于实现业务逻辑。 7. **权限和角色管理**: - 用户的创建和删除是数据库管理的基础,权限分为系统权限和对象权限。 - WITH ADMIN OPTION...
1. PL/SQL编程:PL/SQL块的结构,变量声明,流程控制语句,异常处理。 2. PL/SQL包:创建和使用包,封装代码,提高复用性。 3. 过程和函数:创建自定义过程和函数,以及在SQL语句中调用它们。 4. 触发器:使用触发器...
《OCA Oracle Database 11g SQL Fundamentals I Exam Guide》是针对Oracle数据库11g的SQL基础部分的考试复习指南,主要针对1Z0-051考试。这本书涵盖了Oracle SQL的基础概念、操作和应用,是准备Oracle认证考试的重要...
这本书籍的电子版可能详细讲解了PL/SQL的语法、程序控制结构、异常处理以及与Oracle数据库交互的方法,适合对数据库编程感兴趣的读者深入学习。 总之,这份"Book 学习笔记"提供了从基础到高级的IT知识,无论你是想...
- **游标与集合处理**:游标的使用方法以及PL/SQL中的集合处理技术。 - **异常处理**:如何在PL/SQL块中处理异常情况。 - **性能优化**:SQL调优技巧、索引优化、查询优化等。 - **安全性和审计**:了解Oracle...
1. **SQL基础**:这部分考察你对SQL语言的理解,包括SELECT语句的使用、联接操作、子查询、集合函数和分组统计等。通过模拟试题,你可以检查自己能否正确编写查询,理解数据处理的基本逻辑。 2. **数据库体系结构**...
10. **PL/SQL基础**:虽然不是SQL的基础部分,但作为扩展,PL/SQL是Oracle数据库中的过程式编程语言,可能会涉及到基本的PL/SQL块结构、变量声明、流程控制语句以及异常处理。 通过深入学习这些知识点,考生将能够...
【SQLServer与Oracle题库大全】是一份涵盖了广泛数据库理论及实践问题的资源集合,旨在帮助用户快速提升在SQLServer和Oracle数据库管理方面的知识水平。这份题库包含了多个不同公司的面试题和测试题目,覆盖了从基础...
最后,Oracle数据库复习题整理.doc可能包含了关于Oracle特定的SQL特性,如PL/SQL(Oracle的编程语言扩展)、触发器(Trigger)、索引(Index)、分区(Partitioning)和事务管理(Transaction Management)等内容。...
1. PL/SQL编程:理解PL/SQL语法,编写过程、函数、包和异常处理。 2. 高级SQL:窗口函数,集合操作的复杂应用,以及高级查询技巧。 3. 应用程序接口:Oracle提供的API,如DBMS_XXX包,用于数据库的自定义操作和集成...
2. SQL语言:深入理解SQL查询语句,包括SELECT、INSERT、UPDATE、DELETE以及高级的联接、子查询、集合操作、索引的使用等。同时,了解SQL*Plus工具的使用也是必要的。 3. PL/SQL编程:学习PL/SQL语法,包括变量、...
2. **SQL与PL/SQL**:深入理解SQL查询语句、子查询、联接操作、集合函数,以及PL/SQL的程序结构、异常处理、游标等。 3. **实战经验**:解决实际问题的能力,如故障排查、性能调优、数据迁移等,可能会有模拟案例供...