Oralce记录集合

Oracle记录集合

记录

PL/SQL支持三种类型的记录:基于表的(table-based)、

基于游标的(cursor-based)以及程序员定义的(programmer-defined)

基于表的记录就是该记录的结构来自于数据库表中所有字段的列表。

基于游标的记录就是记录的结构来自于游标的select列表。

为创建一个基于表或者基于游标的记录,可以使

用%ROWTYPE属性。语法:

record_name    table_name or cursor_name%ROWTYPE;

用户定义记录

语法如下:

TYPE  type_name IS RECORD --声明记录类型

(field_name1  DATATYPE1 ,

field_name2  DATATYPE2,

……

field_nameN  DATATYPEN);

record_name  TYPE_NAME;--声明记录变量

补充:记录类型只有一个字段时,没有实际意义等价于variable,当然这个字段可来自cursor。

集合

声明集合的写法:

TYPE type_name  IS TABLE OF  element_type

INDEX BY index_type;

TYPE type_name IS  VARRAY(size_limit)OF element_type ;

element_type可以是:

  1. any datatype,suchas number;
  2. table_name.column_name%type;
  3. table_name%rowtype;
  4. cursor_name%rowtype.
时间: 2024-10-07 08:36:41

Oralce记录集合的相关文章

关于使用一条SQL语句 找出同时符合多个tag条件的记录集合算法

表结构 Tag Table:{tag_id, tag_name}  #标签表 News Table:{news_id, title,......}  #新闻表 NewsTags Table:{tag_id, news_id}  #新闻的标签关系表 解释: 一条新闻,有多个tag标签,例如: 新闻a{Tag1,Tag2, Tag3, Tag4} 新闻b{Tag1,Tag6, Tag7, Tag8} 新闻c{Tag8,Tag9, Tag10, Tag1} 新闻...{Tag..., .....} 搜

Linq查询datatable的记录集合

通过linq查询datatable数据集合满足条件的数据集 1.首先定义查询字段的变量,比方深度 string strDepth=查询深度的值: var dataRows = from datarow in dataTable(须要查询的datatable数据集).AsEnumerable() where string.Compare(datarow.Field<string>("查询字段.比方深度字段"), strDepth) >= 100 && s

从源码分析java集合【LinkedList】

LinkedList是一个双端链表,他继承了AbstractSequentaiList顺序列表,实现了List,Deque,Cloneable,和Serializable接口.Deque是双端队列的接口,LinkedList有记录头的 first 和 尾的 last,所以我们可以对队列的两端进行操作.它还实现了Cloneable和Serializeble接口,它们分别是实现队列进行拷贝和序列化的接口. LinkedList的节点的结构是: private static class Node<E>

.NET MVC4 实训记录之四(Unit of work + Repository)

今日后开启进阶模式! 谈到MVC与EntityFramework,则不得不说一说事务与仓储(Unit of work + Repository). 仓储(Repository):领域对象集合.用于操作领域对象与数据库上下文(DbContext)的交互(在此不得不说一声,领域对象和数据库表对象还是有区别的.领域对象实际上是一组有业务关系的数据库对象的抽象.最简单的形式就是主表.关系表在同一个领域对象中进行定义.例如我们前几章看到的UserProfile,它即定义了用户信息,又定义了用户角色关系信息

JavaSE(十)集合之Set

今天这一篇把之前没有搞懂的TreeSet中的比较搞得非常的清楚,也懂得了它的底层实现.希望博友提意见! 一.Set接口 1.1.Set集合概述 Set集合:它类似于一个罐子,程序可以依次把多个对象 “丢进” Set 集合,而 Set 集合通常不能记住元素的添加的顺序,也就是说Set 集合是无序的.   Set 集合与 Colleaction 基本相同,没有提供额外的方法,实际上 Set 就是 Collection,只是行为略有不同(Set 不允许包含重复元素). 1.2.Set类型集合特点 集合

计算机算法学习(1) - 不相交集合数据结构

不相交集合 故名思意就是一种含有多个不相交集合的数据结构.典型的应用是确定无向图中连通子图的个数.其基本操作包括: Make-Set(x):建立一个新的集合,集合的成员是x: Union(x,y): 将包含x和y的集合合并为一个集合: Find-Set(x): 返回指向包含x的集合的指针: 下面是一个例子,(a)是一个无向图,(b)是使用不相交集合来找连通子图的个数.做法是初始为各个顶点为一个集合,然后遍历各个边,把边的端点的集合进行合并,当处理完所有的边,能连通的顶点就在一个集合里了,这样就生

集合的模拟实现(函数模板)

我们可以用一个数组来模拟集合,add运算用以实现集合元素的增加,delete运算用于实现集合元素的删除,find运算用以实现集合元素的查找,但是目前集合元素类型未知,可以是int.char.double等基本数据类型,也可以是String.Time.Student等对象类型,要求采用模板函数实现集合元素的增加.删除和查找功能. 三个模板函数如下: int addSet(T * myset, T elem,int len) int deleSet(T * myset, T elem, int le

Qlikview集合分析

集合分析 集合可用于聚合函数.聚合函数一般用于聚合当前选择范围定义的可能记录的集合.但替代记录集合可由集合表达式定义.因此,集合在概念上与选择范围类似. 在使用中,集合表达式时总是以波形括号开始和结束,例如:{BM01}. 集合标识符 可以用一个常数表示记录集 1.记录集表示应用程序中所有记录的完全集合. 符号 $ 代表当前选择项范围内的记录.因此,陈述集合表达式 {$} 与不陈述集合表达式的意义等同.更有趣的是,{1-$}定义了当前选择项的反置,即指未包括在当前选择项中的所有数据. 后退/前进

Oracle学习之集合运算

一.集合运算操作符  UNION:(并集)返回两个集合去掉重复值的所有的记录  UNION ALL:(并集)返回两个集合去掉重复值的所有的记录 INTERSECT:(交集)返回两个集合的所有记录,重复的只取一次  MINUS:(差集)返回属于第一个集合,但不属于第二个集合的所有                        记录 集合运算中各个集合必须有相同的列数,且类型一致,集合运算的结        果将采用第一个集合的表头作为最终的表头,order by必须放在每个        集合后