`
zhou_hong_liang
  • 浏览: 97397 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Record和PL/SQL表

SQL 
阅读更多
--将表zhl_table中的 记录都保存到red_array对象数组中,并输出
create or replace procedure zhl_3 is
  Type red is Record(
    rid   zhl_table.id%type,
    rname zhl_table.name%type);
  Type red_array is table of red index by binary_integer;
  myRed red_array;
  vn    number;
  vnn   number;
begin
  vn := 1;
  for vr in (select * from zhl_table) loop
    myRed(vn).rid := vr.id;
    myRed(vn).rname := vr.name;
    vn := vn + 1;
    --dbms_output.put_line(vr.id);
  end loop;
  --vnn := myRed.First;
  for I in 1 .. myRed.count loop
    dbms_output.put_line(myRed(I).rid || ' ' || myRed(I)
                         .rname);
    --vnn := myRed.next(vnn);
  end loop;
end;

--将表整体赋值给对象数组red_array
create or replace procedure zhl_3 is
  Type red is Record(
    rid   zhl_table.id%type,
    rname zhl_table.name%type);
  Type red_array is table of red index by binary_integer;
  myRed red_array;
  vn    number;
  vnn   number;
begin
  vn := 1;
  for vr in (select * from zhl_table) loop
    myRed(vn) := vr;
    vn := vn + 1;
  end loop;
  for I in 1 .. myRed.count loop
    dbms_output.put_line(myRed(I).rid || ' ' || myRed(I)
                         .rname);
  end loop;
end;

--利用表的索引键id给red_array赋值
create or replace procedure zhl_3 is
  Type red is Record(
    rid   zhl_table.id%type,
    rname zhl_table.name%type);
  Type red_array is table of red index by binary_integer;
  myRed red_array;
  vn    number;
  vnn   number;
begin
  for vr in (select * from zhl_table) loop
    myRed(vr.id) := vr;
  end loop;
  for I in 1 .. myRed.count loop
    dbms_output.put_line(myRed(I).rid || ' ' || myRed(I)
                         .rname);
  end loop;
end;


  --使用主键约束和唯一约束作为索引列和使用%ROWTYPE类型作为可用列
  create or replace procedure zhl_3 is
  Type red is table of zhl_table%rowtype index by binary_integer;
  myRed red;
  vn    zhl_table.id%type;
begin
  for vr in (select * from zhl_table) loop
    myRed(vr.id) := vr;
  end loop;
  for I in 1 .. myRed.count loop
    dbms_output.put_line(myRed(I).id || ' ' || myRed(I).name);
  end loop;
end;
分享到:
评论

相关推荐

    Oracle PL/SQL实战(待续)

    同时,PL/SQL支持多种数据类型,包括数值类型(NUMBER)、字符类型(VARCHAR2, CHAR)、日期类型(DATE)等,以及复合类型如记录(RECORD)和表类型(TABLE)。 此外,PL/SQL的包(PACKAGE)概念是将相关的过程和...

    Oracle PL/SQL实例编程(PL/SQL经典书籍)

    Oracle PL/SQL是一种强大的编程语言,它将数据库管理和应用程序逻辑紧密结合起来,是Oracle数据库系统中的核心组件之一。这本书“Oracle PL/SQL实例编程”显然旨在深入讲解如何利用PL/SQL进行实际开发工作,通过实例...

    PL/SQL入门到精通书的源代码

    11. **索引组织表(IOT)和嵌套表**:了解如何在PL/SQL中操作这些特殊的表类型,可以帮助你优化特定的数据存储和检索需求。 12. **游标变量**:游标变量是PL/SQL中的一种特殊变量,可以直接存储查询结果,用于在...

    oracle_oracle_oraclepl/sql_

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作能力和过程性编程语言的控制结构。在"Oracle PL/SQL"这本书中,作者深入浅出地探讨了这一语言的核心概念和实用技巧,尤其适合法语...

    PL/SQL Developer 6.05注册版-1

    <br>此版本包含注册文件和简体中文语言安装包 <br>Enhancements in PL/SQL Developer 7.1.5 ====================================== - Fixed some access violations - Inserting a record in the ...

    PL/SQL 核心基础代码

    7. **表操作**:PL/SQL提供了INSERT、UPDATE、DELETE等语句,可以直接对数据库中的表进行操作。此外,也可以使用BULK COLLECT语句批量处理数据,提高性能。 8. **游标变量**:游标变量可以存储一个打开的游标,使得...

    PL/SQL Developer 7.1.5 注册版-3

    <br>此版本包含注册文件和简体中文语言安装包 <br>Enhancements in PL/SQL Developer 7.1.5 ====================================== - Fixed some access violations - Inserting a record in the ...

    pl/sql相关学习文档

    PL/SQL(Procedural Language for SQL)是Oracle数据库的一种专用编程语言,它将过程化代码块与SQL命令相结合,允许开发者创建功能丰富的应用程序和服务。PL/SQL不仅支持SQL数据操纵功能,还增加了程序控制结构,如...

    PL/SQL存储过程编程

    ### PL/SQL存储过程编程详解 #### 一、Oracle应用编辑方法概览 在Oracle数据库的应用开发中,存在多种编辑方法和技术,它们各有特点和适用场景。以下是对这些方法的概述: 1. **Pro*C/C++**: 这是一种C语言与...

    PL/SQL经典开发手册

    总的来说,《PL/SQL经典开发手册》涵盖了PL/SQL的基础到高级特性,包括变量和常量的使用、SQL语句的嵌入、异常处理以及PL/SQL程序的结构,对于想要深入学习和掌握PL/SQL的开发者来说,是一本不可多得的参考书籍。...

    oracle实验五 PL/SQL编程

    3. **实例化记录变量**:接着,在PL/SQL块的`BEGIN`和`END`之间,定义了一个`stu_record`变量并为其分配了`stu_record_type`类型。 ```sql DECLARE stu_record stu_record_type; BEGIN -- 赋值 stu_record.s_...

    PL/SQL程序设计

    PL/SQL程序设计是Oracle数据库系统中的核心编程语言,它为开发者提供了强大的功能,以便高效地操作和管理数据库。PL/SQL集成了SQL查询和控制流语句,使其成为一种全面的、专为数据库交互设计的语言。以下是关于PL/...

    PL/SQL Developer V14.0.2.1969 x86/x64 最新官方多语言注册版(含中文)2020.08.22 官方更新

    1. **变量和数据类型**:PL/SQL支持多种数据类型,如数值型(NUMBER)、字符型(VARCHAR2, CHAR)、日期型(DATE)、布尔型(BOOLEAN)等,以及复合数据类型如记录(RECORD)和游标(CURSOR)。 2. **控制流语句**...

    PL-SQL.rar_pl_pl/sql

    11. **记录类型(Record Types)**:自定义的数据结构,允许创建类似于数据库表的结构,方便在程序中操作。 学习PL/SQL不仅需要理解这些基本概念,还需要通过实践来熟悉其语法和使用方式。这个压缩包提供的资源可能...

    oracle实验三PL/SQL编程

    在实验的第一部分,我们看到一个简单的PL/SQL块,用于检查和更新EMP表中员工编号为7788的工资。声明部分定义了一个变量num_sal来存储工资,然后通过SELECT语句将工资值放入变量。接着,IF条件语句判断工资是否小于...

    Oracle PL/SQL中如何使用%TYPE和%ROWTYPE

    Oracle PL/SQL 中的 %TYPE 和 %ROWTYPE 应用详解 Oracle PL/SQL 是一种强大的编程语言,广泛应用于数据库开发中。在 PL/SQL 中,变量的声明和使用是非常重要的。其中,%TYPE 和 %ROWTYPE 是两个非常重要的概念,...

    基本PL/SQL编程

    Oracle PL/SQL编程是Oracle数据库系统中的一个关键组成部分,它是一种强大的过程化编程语言,用于在数据库中执行复杂的逻辑和操作。本指南旨在为初学者提供一个基础的PL/SQL编程入门,帮助他们理解并掌握这个强大的...

    pl/sql基础教程

    复合类型包括记录(RECORD)和数组(PL/SQL TABLE)。记录允许自定义结构,数组则可以存储相同类型的多个值。 **§2.4.3 使用%ROWTYPE** %ROWTYPE关键字可以创建一个与表列结构相同的记录类型变量,方便地访问表的...

    PL/SQL教程

    PL/SQL支持多种变量类型,包括基本类型(如NUMBER、VARCHAR2)、复合类型(如RECORD、TABLE)、LOB类型(Large Object,用于存储大文本、图片等),以及BIND变量(用于存储外部传入的参数)。 ##### 2.2 运算符 PL...

Global site tag (gtag.js) - Google Analytics