`
kavy
  • 浏览: 866608 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

%type与%rowtype区别

 
阅读更多

%TYPE:属性的一种方式是在变量声明中使用。%TYPE是用于取得表或游标中的字段类型,
例如,可以使用它来声明ARTIST表中字段类型相同的变量,注意可以在表中名和字段之间使用点号(.)。
DEALARE
V_UNIT_NAME    kwmis_xm_unit_bg.UNIT_NAME%TYPE;
V_BGOID    kwmis_xm_unit_bg.BGOID%TYPE;
通过这种方式就不需要明确指定SQL数据类型,从而改善了代码的可维护性,因为表中字段类型的改变会自动反映在PL/SQL中;

%ROWTYPE
使用%ROWTYPE属性可以声明一个基于表或游标的行对象,也称为记录对象,例如,可以基于ARTIST声明一个行对象:
declare
   newXmUnitBg    kwmis_xm_unit_bg%rowtype;
一旦生成这条记录,那么就可以通过游标使用句号来提取newXmUnitBg的字段值,例如newXmUnitBg.UNIT_NAME 单位名称, newXmUnitBg.BGOID 变更申请号

cursor frdm_cursor   is SELECT FRDM_TZH FROM   kwmis_xm_unit_bg   WHERE bgoid=V_BGOID and      bg_flag='1'
AND FRDM_TZH in(select frdm from kwmis_unit_baseinfo);

begin
   OPEN frdm_cursor;
   LOOP
   FETCH frdm_cursor INTO v_frdm;

if   frdm_cursor%notfound   then    frdm_cursor%found

exit when frdm_cursor%notfound    frdm_cursor%found

%TYPE是跟表中的字段的类型一致,是变量类型.而%ROWTYPE是跟表中的行类型一致,是record类型.

分享到:
评论

相关推荐

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

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

    Oracle_plsql基本语法笔记.txt

    %type用法,%rowtype用法,TYPE用法 游标的使用 for 循环 loop循环 while循环 if / else 的用法 case 的用法 标题 错误定义 error的设定 exception用法 标题 存储过程及函数 procedure 的建立...

    PL/SQL 基础.doc

    5. SQL与PL/SQL的区别 SQL:1) 第四代语言(智能语言); 2) 做什么,不管怎么做; 3) 缺少过程与控制语句; 4) 无算法 PL/SQL: (相对SQL扩展部分) 1) 扩展变量和类型; 2) 扩展控制结构; 3) 扩展过程与函数...

    亚信科技面试原题数据库

    平台管理维护-数据库平台编码 技术能力考试2级 课程名称 oracle数据库系统编程 课程号 MD02 考试时间 90分钟 考试方式(闭)卷 (共 6 页) (本试卷满分100分,60分... %TYPE B. %ROWTYPE C. 列列表 D. %ROWCOUNT

    PLSQL编程03

    PL/SQL基础编程之(三)[自定义复合变量][%TYPE和%ROWTYPE的应用]

    oracle存储过程、游标、函数、PL/SQL块

    包含oracle存储过程的增、删、查、改 %type、%rowtype的使用 自定义函数 PL/SQL块

    PLsql语法.md

    #### PLsql 是什么 - 是专用于Oracle服务器,在SQL基础之上,**添加了一些过程化控制语句,叫PLSQL** ...##### 何时使用%type,何时使用%rowtype? ### 条件判断 #### 基本语法 #### 小练习

    SQLBoy 存储过程之历险记

    文章目录:1、概述:2、存储过程概念及语法格式:3、数据类型与定义变量和常量4、特殊数据类型之%TYPE和%ROWTYPE5、在存储过程中%TYPE和%ROWTYPE常用来在PL/SQL中定义变量:6、 循环语句Loop 使用7、PL/SQL 游标 概念...

    oracle 基础

    这个文档主要是讲pck里面的语法,还没写完 ...重点是对函数请求参数、返回,into、 for、 corsor、%type、%rowtype等的简单理解tst 测试pck文件还会继续完善 PCK文件配置有截图和详细说明 请看文件夹里面的 说明 文件

    oracle存储过程进阶

    介绍了oracle存储过程中常见的sql写法,游标(隐式,显式),触发器, CASE ... WHEN ...... ELSIF ...THEN...ELSE...END IF,记录类型变量定义和使用 ,%type定义变量,%rowtype定义变量,goto,异常。多且全

    oracle下巧用bulk collect实现cursor批量fetch的sql语句

     v_depart t_depart%rowtype ; type v_code_type is table of t_depart.depart_code%type ; v_code v_code_type ; type v_name_type is table of t_depart.depart_name%type ; v_name v_name_...

    C# 访问Oracle示例+PL/SQL+存储过程+触发器 完整示例 测试可用 易懂

    trow producttype%rowtype; begin execute immediate 'create table newTypes(id integer primary key,name nvarchar2(200))'; --create table ... PL/SQL中不能直接使用数据定义语言,而动态sql中允许 sql_str:='...

    精髓Oralcle讲课笔记

    --(将sal的查询结果转化为字符串,与ename连接到一起,相当于Java中的字符串连接) 7、select ename||'afasjkj' from emp; --字符串的连接 8、select distinct deptno from emp; --消除deptno字段重复的值 9、...

    oracle存储过程中return和exit区别概述及测试

    v_name cc_quiz_stat %rowtype; v_state cc_quiz_stat.state %type; begin declare cursor cur_cc is select * from cc_quiz_stat; cursor cur_jc(v_n varchar2) is select state from cc_quiz_stat; begi

    某公司内部总结sql优化方法

    1. 定义类型:TYPE toffsetlist IS TABLE OF TMP_PC_OFFSET_PROFITLOSS%ROWTYPE INDEX BY LS_INTEGER; v_offset toffsetlist; 2. 读取数据:select * from TMP_PC_OFFSET_PROFITLOSS BULK COLLECT INTO v_offset ......

    SQL21日自学通

    %ROWTYPE 属性382 %ROWCOUNT 属性383 Procdure 部分383 BEGIN … … END383 指针控制命令384 条件语句386 LOOPS 循环387 EXCEPTION 部分390 激活EXCEPTION 异常390 异常的处理391 将输入返回给用户392 在PL/SQL 中的...

    oracle教案(doc)+SQL Reference 10g(chm).rar

    7.5.6 %rowtype属性 114 7.5.7 SQL语句在PL/SQL中的运用 114 7.6 选择结构 114 7.6.1 格式1: IF_THEN_ELSE语句 114 7.6.2 格式2: IF_THEN_ELSE_IF语句 114 7.7 循环结构 114 7.8 异常处理(了解) 114 7.8.1 异常 114 ...

    Oracle 10g 开发与管理

    7.4 使用%TYPE和%ROWTYPE类型的变量 58 1.%Type 59 2.%RowType 59 7.5 复合变量 60 1.记录类型(“行”) 60 2.记录表类型(“表” ) 60 (1)使用的原因: 60 (2)定义记录表类型(联合数组) 60 7.6 条件判断...

    Oracle BULK COLLECT批量取数据解决方法

    代码如下: — Created on 2010/11/04 by WANGNAN declare — Local... TYPE t_pg3 IS TABLE OF asis.PG3_AGENTCD_CONVERSION% ROWTYPE; v_pg3_table t_pg3; c_pg3_vendor com.cRef; v_str VARCHAR2( 250); begin — Tes

    Oracle批量查询、删除、更新使用BULK COLLECT提高效率

    BULK COLLECT(成批聚合类型)和数组集合type类型is table of 表%rowtype index by binary_integer用法笔记。 例1: 批量查询项目资金账户号为 “320001054663”的房屋账户信息并把它们打印出来 . DECLARE TYPE acct_...

Global site tag (gtag.js) - Google Analytics