Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > 参考_复合数据类型
【标  题】:参考_复合数据类型
【关键字】:
【来  源】:http://blog.csdn.net/comm_iterator/archive/2006/08/16/1068109.aspx

参考_复合数据类型

Your Ad Here

PL/SQL有两种复合数据结构:记录和集合。记录由不同的域组成,集合由不同的元素组成

复合数据类型必须在用来定义变量前被定义该类型;而简单数据类型直接就可以定义变量;

 

PL/SQL 记录

记录也可以看成表中的数据行,域则相当于表中的列

显式定义记录

TYPE record_type IS RECORD (field_definition_list);

隐式定义记录

隐式声明是在基于表的结构或查询上使用%TYPE属性,隐式声明是一个更强有力的工具,这是因为这种数据变量是动态创建的。

有一些PL/SQL指令在使用隐式定义记录时没有使用%ROWTYPE属性,比如游标FOR循环或触发器中的:old:new记录

记录作为一种复合数据结构意味作他有两个层次可用

记录的一个字段的类型还可以是另一个记录类型;

DELCARE
TYPE stock_quote_rec IS RECORD
(symbol stock.symbol%TYPE
,bid NUMBER(10,4)
,ask NUMBER(10,4)
,volume NUMBER NOT NULL:=0
,exchange VARCHAR2(6) DEFAULT 'NASDAQ'

);
TYPE detailed_quote_rec IS RECORD
(quote stock_quote_rec
,timestamp date
,bid_size NUMBER
,ask.size NUMBER
,last_tick VARCHAR2(4)
);
real_time_detail detail_quote_rec;
BEGIN
real_time_detail.bid_size:=1000;
real_time_detail.quote.volume:=156700;
log_quote(real_time_detail.quote);

 

给记录赋值

1、 使用SELECT INTO

2、 使用FETCH

FETCH cursor_name INTO variable;

3. 使用赋值语句将整个记录复制给另一个记录是一项非常有用的技术,不过记录必须精确地被声明为相同的类型,不能是基于两个不同的TYPE语句来获得相同的结构。

DECLARE
TYPE stock_quote_rec IS RECORD
(symbol stocks.symbol%TYPE
,bid NUMBER(10,4)
,ask number(10,4)
,volume NUMBER
);
TYPE stock_quote_too IS RECORD
(symbol stocks.symbol%TYPE
,bid NUMBER(10,4)
,ask number(10,4)
,volume NUMBER
);--
这两个记录看上去是一样的,但实际上是不一样的
stock_one stocks_quote_rec;
stock_two stocks_quote_rec; --
这两个域有相同的数据类型和大小
stock_also stock_rec_too
--stock_quote_rec是不同的数据类型
BEGIN
stock_one.symbol:='orcl';
stock_one.volume:=1234500;
stock_two
=stock_one;--正确
syock_also
=stock_one;--错误,数据类型错误
stock_also.symbol:=stock_one.symbol;
stock_also.volume:=stock_one.volume;

记录不能用于INSERT语句和将记录直接用于比较

 

 

 
分页算法之我见:【上一篇】
参考_PL/SQL基础:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • HomePNA接入技术概述
  • DataGrid自动编号之黄金版
  • ABAP数据库操作系列(3)
  • "野兽"病毒技术分析报告
  • 判断的标准应该放在哪里?
  • ASP.NET AJAX - 内容页面一定要使用 ScriptManagerProxy 控件吗?
  • C# Programming竞赛开始了!
  • 《解析极限编程》读书笔记
  • linux下vncserver的配置
  • 浅析ADSL接入模式的变化
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.