`
keke_wanwei
  • 浏览: 125999 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

PL/SLQ Record

阅读更多

记录相当于JAVA中的DTO,它代表的是一种类型,一种数据结构.它不是数组或列表.所以我们把一个查询结果赋给一个记录时,
查询结果应该只有一条,而不是多条.

自定义记录如下:

sql 代码
  1. DECLARE  
  2.    TYPE record_sale IS RECORD (   
  3.       area_code   VARCHAR2 (10) NOT NULL DEFAULT 'NO_AREA',   
  4.       YEAR        INTEGER       NOT NULL := 1701,   
  5.       MONTH       INTEGER       NOT NULL := 1,   
  6.       SDATE       INTEGER       NOT NULL := 1,   
  7.       SALEROOM    NUMBER        NOT NULL := 0,   
  8.       SALER       VARCHAR2 (10) NOT NULL := 'who?'   
  9.    );   
  10.    var_sale   record_sale;   
  11.    i          NUMBER      := 1;   
  12. BEGIN  
  13.    var_sale.area_code := 'WUHAN';   
  14.    var_sale.YEAR := 1324;   
  15.    var_sale.MONTH := 10;   
  16.    var_sale.sdate := 3;   
  17.    var_sale.saleroom := 435.23;   
  18.    var_sale.saler := 'wanwei';   
  19.    LOOP   
  20.       var_sale.YEAR := var_sale.YEAR + 1;   
  21.       var_sale.MONTH := var_sale.MONTH + 1;   
  22.       var_sale.sdate := var_sale.MONTH + 1;   
  23.       var_sale.saleroom := var_sale.saleroom + 100;   
  24.       INSERT INTO T_SALE_TEST VALUES var_sale;   
  25.       i := i + 1;   
  26.       EXIT WHEN i = 10;   
  27.    END LOOP;   
  28.    COMMIT;   
  29. END;   
  30. /  

要注意的是,NOT NULL 字段要赋初值.

另外LOOP还有两种写法:

 

sql 代码
  1. for idx in 1..10 loop   
  2.      var_sale.YEAR := var_sale.YEAR + 1;   
  3.      var_sale.MONTH := var_sale.MONTH + 1;   
  4.      var_sale.sdate := var_sale.MONTH + 1;   
  5.      var_sale.saleroom := var_sale.saleroom + 100;   
  6.      INSERT INTO T_SALE_TEST VALUES var_sale;   
  7.   END LOOP;  
sql 代码
  1. WHILE (i < 10) LOOP   
  2.    var_sale.YEAR := var_sale.YEAR + 1;   
  3.    var_sale.MONTH := var_sale.MONTH + 1;   
  4.    var_sale.sdate := var_sale.MONTH + 1;   
  5.    var_sale.saleroom := var_sale.saleroom + 100;   
  6.    INSERT INTO T_SALE_TEST VALUES var_sale;   
  7.    i := i + 1;   
  8. END LOOP;  

其中第一种和第三种变量i要在declare中定义.

想得到一张表的记录,简单的用:table_name%ROWTYPE.同样,一个游标的记录可以用:cursor_name%ROWTYPE.

还有,记录不是也不可能存在数据库中的,当我们定义一个记录类型时,并没有分配相应的内存,只在定义某个记录的变量时才开始分配内存.

分享到:
评论

相关推荐

    PL/SQL Developer 10.0.5

    PL/SQL Developer Version 10.0.5.1710 01.207369 - Unlimited user license Windows 7 6.1 Build 7600 Language: 简体中文 (英宇世纪) Physical memory : 2,097,152 kB (816,092 available) Paging file : ...

    sh-utils:通用bash脚本

    $ chmod +x ~/.local/bin/slq x〜 $ chmod +x ~/.local/bin/slq slq-允许执行。 (仅第一次) $ export PATH="~/.local/bin:$PATH" -将bin文件夹添加到路径。 $ slq 1 10 !程序说明SLQ -手表SLURM的工作状态(包装...

    Oracle应用操作全集

    Oracle的一些应用操作、ps/slq、sql优化==

    enCub:自动数据库迁移工具-开源

    enCub是一种工具,可以自动将Oracle的PL / SQL语句转换为Java存储过程,并将其加载到目标数据库(Cubrid)中。 将Oracle PL / SLQ转换为Java存储过程实用程序。 第一个目标数据库将是开源数据库Cubrid。

    SLQ免费刀模插件 V4.0.rar

    SLQ免费刀模插件 V4.0是一个专为CAD/CAM软件用户设计的专业插件,主要用于提升在设计和制作刀具路径时的效率和精确度。这款插件的出现,使得用户无需深入掌握复杂的编程知识,也能快速生成适用于切割、雕刻等工艺的...

    亲自试验非常好用,SLQ免费刀模插件 V4.0

    SLQ免费刀模插件 V4.0 是一款专为印刷包装行业设计的专业软件,它极大地简化了刀模图的绘制过程。这款插件的主要功能是自动绘制刀模图,适用于刀模厂、印刷包装设计师以及印前工作人员,极大地提高了工作效率。 在...

    美国海军重点电子战项目发展分析(2016).pdf

    其中,“阿利·伯克”级导弹驱逐舰装备的AN/SLQ-32电子战系统是关键项目之一,旨在提高对反舰导弹的预警检测和防御能力。 美国海军认识到技术创新的重要性,因此在2014年提出了“力保优先发展”的电子战重点项目。...

    SLQ刀模绘图插件 V3.0 免费版.rar

    SLQ刀模绘图插件 V3.0 是一款专为CAD设计者和模具行业从业者设计的专业绘图工具,主要用于创建和编辑刀模图形。在CAD软件中,它作为一个插件增强用户对刀模设计的功能,提高工作效率。下面将详细介绍这款插件的主要...

    02-第2章 告警及性能事件列表概要.pdf

    包括 PQ1/PD1 板、PQM 板、PL3/PD3 板、SL16/SLQ4/SLD4/SL4 板、SLQ1/SL1/Q1SL16/Q1SL4/Q1SL1 板、R1SLQ1/R1SL1/R1SL4/R1SLD4 板、SEP1/SEP 板、SPQ4 板、N1EFS0/N1EFS4/N1EGS2 板、N2EFS0/N2EGS2 板、EGT2 板、EMR0...

    iquid-flow-meter_SLQ-HC60_V0.83

    ### 液体流量计SLQ-HC60:精密监测与自动化技术的结合 #### 引言 SLQ-HC60液体流量计是一种专为自动化技术领域设计的高精度测量工具,能够实现对小至毫升级别的液体流量进行快速、非侵入式的测量。这款产品特别...

    +SLQ刀模绘图演示视频.exe

    +SLQ刀模绘图演示视频.exe

    亲自试验非常好用,SLQ免费刀模插件 V3.0

    SLQ免费刀模插件 V3.0是一款专为刀模设计、印刷包装及印前工作打造的强大工具。它简化了刀模图的绘制过程,极大地提升了工作效率。这款插件的特点在于其内置了大量的盒型库,用户只需输入所需的尺寸,系统就能自动...

    用slq实现的查询模板递归

    用slq实现的查询模板,是T_Sql查询里的源代码,感觉挺好,给大家共享!

    SLQ注入批量检测助手免费版发布版本

    SLQ注入批量检测助手免费版发布版本

    SLQ2012数据挖掘包 64bit

    数据挖掘包SQL AS DMAddin

    电子干扰设备.zip

    2. AN/SLQ-32电子战系统:这是舰载电子防御系统,主要用于探测、识别和干扰敌方雷达信号。AN/SLQ-32能够发射定向干扰,同时具备被动监听和主动干扰的能力。 3. AGM-88高能反辐射导弹(HARM):这是一种空对地导弹,...

    slq2005解决sql安装问题

    当你在安装 sql2005 你会出现一些问题 请按上面的 指示操作

    SLQ升流器说明书

    ### SLQ升流器知识点详解 #### 一、产品概述 **升流器**是一种用于电气调试中产生大电流的专业设备。它广泛应用于发电厂、变配电站、电器制造厂以及科研实验室等领域。该设备主要适用于短时或断续工作制场景。 **...

    vs2012调试slq测试脚本

    vs2012调试slq的测试脚本,详情请参考:http://write.blog.csdn.net/postedit/25159829。

    VC+SLQ图书管理

    《VC+SLQ图书管理》项目是一套集成了VC++编程语言与SQL数据库技术的图书管理系统。这个系统提供了全面的图书信息管理功能,包括图书的录入、查询、借阅、归还、统计等功能,旨在方便图书馆工作人员进行日常的图书...

Global site tag (gtag.js) - Google Analytics