定义了一个类型:索引表(PL/SQL表或数组)
解决方案 »
- oracle 模糊查询问题
- oracle source code for user name
- 请问我的系统坏了,但我的oracle数据库没有倒出过,请问我从装系统和数据库后还能恢复我以前的数据库吗?
- 急问各位:我想在存储过程中执行一批处理文件,这个存储过程怎么写呀
- 在oracle9i配置中如何限制远程用户(知道数据库ip地址、用户名和密码)?
- 初学数据库,在实习数据库语言的简单问题
- 客户机与oracle数据服务器连接问题?
- oracle 用IMP命令导入后,为什么原来表的扩展属性看不到了?急!!!
- 请提供几个用RMAN备份与恢复的例子,好吗?
- 求助:怎样用一条sql语句实现多个列(分别根据不同的条件)的条数,看详细信息请进
- 为什么我的oracle设置的作业不能定时执行
- 日期类型转换的简单问题
在学习关系数据库理论时,很有趣的是,由两个或多个表联接构成的查询结果本身就是
一个表。常常需要用P L / S Q L循环查询一组数据并对一组查询值进行比较。P L / S Q L允许将这
些被查询的表装入内存,以减少引用它们的数据时所需的I / O操作。
本书很多地方都谈到了数据类型—字符、字母数字、数值等等。而P L / S Q L表却是用一个
用户定义类型表来说明的。考查下面程序,看看为了查找目的是怎样将美国的州表装入内存的。
set serveroutput on size 100000
d e c l a r e
state_rec state%rowtype;- - s t a t e _ s p e c 与s t a t e 表的行具有相同的组成
type just_names is table of state.name%type
index by binary_integer; - -局部表j u s t _ n a m e 包含了和s t a t e 表每一行
i binary_integer := 0; - -相同组成的“行”
nametab just_names;
b e g i n
for state_rec in - -注意行是怎样用这个嵌入f o r 循环的语句
- - 从s t a t e 表中抽取出来的(select name from state)
l o o p
i := i+1;
nametab(i) := state_rec.name;
d b m s _ o u t p u t . p u t _ l i n e ( n a m e t a b ( i ) ) ;
end loop;
e n d ;
/
从s t a t e表中读出的前几行名字输出如下:
A l a s k a
A l a b a m a
A r k a n s a s
注意P L / S Q L表为P L / S Q L的版本2 . 3所支持,以前的版本都不支持。