易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle系列:Record + PL/SQL表

 Oracle系列:Record和PL/SQL表
一,什么是记录Record和PL/SQL表?
 
 记录Record:由单行多列的标量类型构成的临时记录对象类型。类似于多维数组。
 PL/SQL表:由多行单列的索引列和可用列构成的临时索引表对象类型。类似于一维数组和键值对。
 
 都是用户自定义数据类型。
 
二,Record + PL/SQL表 用途是什么?
 Record + PL/SQL表可以进行数据的多行多列存储。这样我们就可使用Record + PL/SQL表在需要时封装一个临时的表对象,进行传递和操作。
 通过Record自定义表结构,封装一条记录。PL/SQL表声明 可用列 类型 为Record类型(将可用列指向Record类型变量),每个索引对应一个Record类型变量。
 
 
三,使用Record + PL/SQL表进行数据的多行多列存储
 ①声明Record类型和PL/SQL表,
 其中PL/SQL表的索引列为主键约束和唯一约束列或自增Integer。可用列为Record类型或%RowType类型。
 
 ②填充PL/SQL表可用列(Record类型):通过索引指向Record,使用Record访问记录成员。
   语法:
   PL/SQL表名(索引列值).记录成员 := 记录成员类型值;
   或
   PL/SQL表名(索引列值) := Record类型变量;
   --注意其PL/SQL表中声明的可用列要和这里赋值的Record类型变量结构一样
 ③访问PL/SQL表
 
 下面是例子:
 /*conn scott/tiger
  Create table empa as select * from emp;
 */
 例子:
 Declare
  Type RecType Is Record
  (
   rno  empa.empno%type,
   rname empa.ename%type,
   rsal  empa.sal%type
  );
  Type TabType Is Table Of  RecType  Index By Binary_Integer;
  MyTab TabType;
  vN Number;
 Begin
  --填充
  vN := 1;
  For varR In (Select  *  from empa Order By empno ASC)
  Loop
   MyTab(vN).rno  := varR.empno;
   MyTab(vN).rname := varR.ename;
   MyTab(vN).rsal := varR.sal;
   vN := vN + 1;
  End Loop;
  --访问
  vN := MyTab.First;
  For varR In vN..MyTab.count
  L


相关文档:

win7 安装 oracle 客户端

当前任何版本的ORACLE客户端在任何版本的WINDOWS7上都不能正常完成安装。
    主要是因为ORACLE安装的先决条件里操作系统版本不符合,但是这个疑问可以修改refhost.xml处理, 具体是在refhost.xml中添加
  <!--Microsoft Windows 7-->
  <OPERATING_SYSTEM>
    & ......

常见Oracle数据库备份策略介绍

1 操作系统备份
操作系统备份和恢复实施起来比较简单,当然也比较费时,要求系统停止使用,此过程包括关闭数据库并从系统上注销所有用户。所有访问被解除之后,系统关闭并以单用户方式重新启动,控制权交给系统管理员,这一步确保没有用户应用程序软件运行,避免修改硬盘上的数据。如果这个备份用于恢复数据库系统,那么系 ......

Oracle CASE表达式


CASE表达式可以在SQL中实现if-then-else型的逻辑,而不必使用PL/SQL。CASE的工作方式与DECODE()类似,但应该使用CASE,因为它与ANSI兼容。
CASE有两种表达式:
1. 简单CASE表达式,使用表达式确定返回值.
语法:
CASE search_expression
WHEN expression1 THEN result1
WHEN expression2 THEN ......

oracle 创建用户


oracle10g创建用户
Oracle10g 的创建用户名
1、   linux 下 oracle 的启动
以 oracle 身份登录  
启动    lsnrctl start
登录    sqplus /nolog
连接数据库    connect  /as   sysdba
启动数据库    startup
关闭数据库    s ......

Oracle 分页语句,存储过程

select * from (select t.*,rownum rn from (select * from emp) t where rownum<=10) where rn>=6;
创建分页结果集的游标
create or replace package fenyepackage as
type testcursor is ref cursor;
end fenyepackage;
创建分页存储过程
create or replace procedure fenye3(
tableName varchar2, --表名 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号