`
springking
  • 浏览: 131816 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

pl/sql记录类型

SQL 
阅读更多

1.定义plsql记录
    可以自定义记录类型和记录变量。
    也可以使用%rowtype属性定义记录变量。

自定义plsql记录
    需要分别定义记录类型和记录变量。
    例如:
declare
      type emp_record_type is record(       //定义记录类型
           name emp.ename%type,            //记录成员
           sal emp.sal%type,
           job emp.job%type
      );
      emp_record emp_record_type;               //声明emp_record记录变量


使用%ROWTYPE属性定义记录变量
    %ROWTYPE可以基于表或视图定义记录变量。当使用该属性定义记录变量时,记录成员的名称和类型与表或视图列的名称和类型完全相同。
    例如:
declare
  emp_record emp%rowtype;

2.使用plsql记录。
    在select into语句中使用plsql记录。如果选择列表包含的多个列和表达式,并且使用标量接收数据,就需要定义多个标量,如果使用plsql记录接收数据就只需要定义一个记录变量即可,从而简化了数据的处理。
    在select..into语句中使用plsql记录时,既可以使用记录变量,也可以使用记录成员。
   
    在select..into中使用记录变量。
    例如:
declare
  type emp_record_type is record(
       v_no emp.empno%type,
       v_name emp.ename%type,
       v_sal emp.sal%type
  );
  emp_record emp_record_type;
begin
  select empno,ename,sal into emp_record from emp where empno=6044;
  dbms_output.put_line(emp_record.v_no);
  dbms_output.put_line(emp_record.v_name);
  dbms_output.put_line(emp_record.v_sal);
end;
   
    注意:当引用记录成员时,必须在成员明之前加记录变量名作为前缀。

    在select..into中使用记录成员。
    例如:
declare
  type emp_record_type is record(
       v_no emp.empno%type,
       v_name emp.ename%type,
       v_sal emp.sal%type
  );
  emp_record emp_record_type;
begin
  select empno,sal,ename into emp_record.v_no,emp_record.v_sal,emp_record.v_name
  from emp where empno=6044;
  dbms_output.put_line(emp_record.v_no);
  dbms_output.put_line(emp_record.v_name);
  dbms_output.put_line(emp_record.v_sal);
end;

    注意:选择列表项和记录成员的匹配问题。

    在insert语句中使用plsql记录(使用记录成员)
    例如:
declare
  temp_record temp%rowtype;
begin
  temp_record.CUSTOMER_NAME:='张三';
  temp_record.CITY:='北京';
  insert into temp values(temp_record.CUSTOMER_NAME,temp_record.CITY);
end;

    在updat语句中使用plsql记录(使用记录成员)
    例如:
declare
  temp_record temp%rowtype;
begin
  temp_record.CUSTOMER_NAME:='王五';
  temp_record.CITY:='上海';
  update temp set temp.customer_name=temp_record.CUSTOMER_NAME,
  city=temp_record.CITY
  where CUSTOMER_NAME='张三';
end;

    在delete语句中使用plsql记录
    例如:
declare
  temp_record temp%rowtype;
begin
  temp_record.CUSTOMER_NAME:='王五';
  delete from temp where temp.customer_name=temp_record.CUSTOMER_NAME;
        end;


分享到:
评论

相关推荐

    pl/sql最新中文手册

    1. **PL/SQL基础**:手册可能会从基础开始,介绍PL/SQL的基本结构,包括声明变量、常量、游标、记录类型等。还会讲解如何编写存储过程、函数和触发器。 2. **控制流程语句**:这包括条件判断(IF-THEN-ELSIF-ELSE)...

    oracle10g_pl/sql

    - **记录类型**:自定义的数据结构,可以包含多个列。 - **表类型**:定义动态大小的表格,可以存储多个记录。 - **游标变量**:用于存储游标状态,可以在PL/SQL中传递和操作。 - **包**:将相关的过程、函数和...

    Oracle PL/SQL实战(待续)

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

    Oracle PL/SQL程序设计(第5版)(上下册)

    - **集合与记录**:学习如何使用PL/SQL中的集合和记录类型,这些结构可以帮助更高效地处理数据集。 - **游标**:介绍游标的使用方法,包括隐式游标和显式游标,以及如何利用游标遍历查询结果。 #### 四、PL/SQL中的...

    PL/SQL编程基础知识

    - **程序包**:集合了一系列相关的子程序、类型定义和其他PL/SQL元素,便于管理和复用。 **2.3 标识符规则** PL/SQL中的标识符遵循以下规则: - 标识符长度不能超过30个字符。 - 第一个字符必须是字母。 - 不区分...

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

    2. **变量和数据类型**:PL/SQL支持多种数据类型,包括数值型(NUMBER、BINARY_INTEGER、PLS_INTEGER)、字符型(VARCHAR2、CHAR)、日期型(DATE)、布尔型(BOOLEAN)以及复合数据类型如记录和数组。 3. **控制...

    PL/SQL安装包

    7. **记录类型和变量**:PL/SQL支持自定义记录类型和变量,使得可以创建更贴近业务需求的数据结构。 这个"PL/SQL安装包"可能包含了以下组件: - **PL/SQL Developer**:一个强大的Oracle数据库开发工具,支持PL/...

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    2. **复合数据类型**:介绍PL/TABLE、记录类型(%ROWTYPE)以及集合类型(VARRAY和NESTED TABLE),这些都是处理大量数据或构建复杂数据结构的关键工具。 3. **游标**:讲解如何使用显式和隐式游标进行查询和遍历...

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

    10. **记录类型(Record Types)**:自定义记录类型允许你创建类似于数据库表结构的变量,这对于处理复杂的数据库交互非常有用。 11. **索引组织表(IOT)和嵌套表**:了解如何在PL/SQL中操作这些特殊的表类型,...

    Oracle Database 12c PL/SQL开发指南 实例源代码

    4. **记录类型**:定义和操作记录类型,用于处理动态或不确定的数据结构。 5. **集合类型**:包括数组(PLS_INTEGER索引的PL/SQL表)和关联数组(索引由非数字类型的值定义),以及如何在集合中插入、删除和迭代...

    pl/sql 学习资料

    -记录类型:定义和使用记录类型,类似于结构或对象。 5. **程序单元**: - 包(PACKAGE):定义公共接口和私有实现,提高代码复用性。 -存储过程和函数:创建存储在数据库中的过程和函数,提升性能。 -触发器...

    Oracle PL/SQL实例精解 数据库建立代码

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和PL/SQL的结构化编程特性,使得数据库开发者能够创建复杂的应用程序和数据库逻辑。在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨...

    精通pl/sql

    2. **PL/SQL数据类型**:详细讲解PL/SQL支持的数据类型,如数值型、字符型、日期时间型、布尔型、记录类型、游标类型等,以及如何进行数据转换和操作。 3. **PL/SQL控制结构**:深入探讨流程控制语句,如循环...

    Oracle PL/SQL学习官方教材

    5. **记录和表操作**:PL/SQL提供了内置的DML(数据操纵语言)语句,如INSERT、UPDATE、DELETE,可以直接在PL/SQL块中操作数据库表。教材还会讲解如何使用BULK COLLECT和FORALL语句进行批量操作,提高效率。 6. **...

    pl/sql学习笔记

    `%TYPE`和`%ROWTYPE`是PL/SQL的特殊属性,用于保持变量与表列或整个记录的类型一致。`%TYPE`用于创建与现有列相同类型的变量,而`%ROWTYPE`创建一个与指定表行结构相同的记录变量。 学习PL/SQL不仅需要理解上述...

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

    PL/SQL 记录类型类似于 C 语言中的结构,是一种复合类型,是用户自定义的。记录提供了一种处理独立的但又作为一个整体单元相关的变量的机制。 例如: ```sql DECLARE v_StudentID NUMBER(5); v_FirstName VARCHAR...

    Oracle PL/SQL 实例精解(第4版涵盖Oracle 11g)+源码脚本

    1. **基础语法**:PL/SQL的基础包括声明变量、常量、游标、记录类型以及控制流程语句(如IF-THEN-ELSIF,WHILE,FOR循环)。书中会详细介绍如何编写简单的PL/SQL块,包括声明部分、执行部分和异常处理部分。 2. **...

    PL/SQL编程(电子版)

    2. 全面的数据类型支持:PL/SQL兼容所有SQL数据类型和Oracle对象类型。 3. 可存储与可重用:PL/SQL块可以被命名并存储在数据库中,便于重复使用,并可通过任何客户/服务器工具访问。 4. 安全性:可以通过Oracle数据...

    oracle pl sql 实例精解 源代码

    通过阅读和执行这些脚本,读者能掌握如何在PL/SQL中进行数据操作、数据转换、数据聚合,以及如何使用PL/SQL进行数据库编程,包括调用系统包、处理PL/SQL记录类型、游标变量以及数组等高级特性。 总的来说,这个资料...

    Oracle PL/SQL程序设计(第5版)(下册)第二部分

    第11章 记录类型 297 第12章 集合 313 第13章 其他数据类型 381 第4部分 PL/SQL中的SQL 第14章 DML和事务管理 423 第15章 数据提取 444 第16章 动态SQL和动态PL/SQL 492 目 录(下册) 第5部分 构造PL/SQL应用程序 第...

Global site tag (gtag.js) - Google Analytics