2024年5月9日发(作者:)

%TYPE:属性的一种方式是在变量声明中使用。%TYPE是用于取的表或游标中的字

段类型,

例如,可以使用它来声明和ARTIST表中字段类型相同的变量,注意可以在表中名和

字段之间使用点号(.)。

DEALARE

V_UNIT_NAME kwmis_xm_unit__NAME%TYPE;

V_BGOID kwmis_xm_unit_%TYPE;

通过这种方式就不需要明确指定SQL数据类型,从而改善了代码的可维护性,因为表

中字段类型的改变会自动反映在PL/SQL中;

%ROWTYPE

使用%ROWTYPE属性可以声明一个基于表或游标的行对象,也称为记录对象,例如,

可以基于ARTIST声明一个行对象:

declare

想a一旦生成这条记录,那么就可以通过游标使用句号来提取newXmUnitBg的字段

值,例如_NAME 单位名称, 变更申请号

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类型.

我是搞Java的,看到DBA的存储过程这样写,不知是什么意思,请Oracle朋友讲解一

下.

create or replace procedure sp_update_customer

is