您的位置:首页 > 数据库 > Oracle

oracle批量新增字段 数据赋值应用

2012-08-17 20:27 369 查看
/****************************/

--表名 个人客户扩展表

--1 C_ASSETF***OUR 资产投资偏好

--2 C_ACTINVESTF***OUR 实际风险偏好

--3 C_PRORAISEF***OUR 产品类型投资偏好

--4 C_ACTPRORAISEF***OUR 实际产品类型投资偏好

--5 C_PRODUCTF***OUR 旗下产品偏好

--6 C_ACTPRODUCTF***OUR 实际旗下产品偏好

--7 C_ACTHONESTY 实际客户忠诚度

--8 C_INVESTPOTENTIAL 客户可投资潜力

--9 C_PHONEFREQUENCY 电话接触频率偏好

--10 C_COMMUNICATEF***OUR 客户沟通意愿

--11 C_PRESENTF***OURTYPE 客户礼品偏好

--12 C_PRESENTF***OURDESC" 客户礼品偏好备注

--13 C_CHILDEDUCATION 子女年龄状况

--14 C_ACTCHILDEDUCATION 推断子女年龄状况

--15 C_CHILDERENSEX子女性别状况

/**************************/

declare

TYPE array_colname IS TABLE OF VARCHAR2 (30); --列名称

a_colname array_colname := array_colname ();

TYPE array_type IS TABLE OF VARCHAR2 (30); --列类型

a_type array_type := array_type ();

icount integer:=0;

begin

a_colname :=array_colname(

'C_ASSETF***OUR',

'C_ACTINVESTF***OUR',

'C_PRORAISEF***OUR',

'C_ACTPRORAISEF***OUR',

'C_PRODUCTF***OUR',

'C_ACTPRODUCTF***OUR',

'C_HONESTY',

'C_ACTHONESTY',

'C_INVESTPOTENTIAL',

'C_PHONEFREQUENCY',

'C_COMMUNICATEF***OUR',

'C_PRESENTF***OURTYPE',

'C_PRESENTF***OURDESC',

'C_CHILDEDUCATION',

'C_ACTCHILDEDUCATION',

'C_CHILDERENSEX'

);

a_type := array_type (

'char(1)',

'char(1)',

'char(1)',

'char(1)',

'char(1)',

'char(1)',

'char(1)',

'char(1)',

'char(1)',

'char(1)',

'char(1)',

'char(1)',

'varchar2(500)',

'char(1)',

'char(1)',

'char(1)'

);

for i in a_colname.first..a_colname.last loop

select count(1) into icount from user_tab_cols t where t.TABLE_NAME = upper('tpersonexinfo') and t.COLUMN_NAME = a_colname(i);

if icount = 0 then

execute immediate 'alter table tpersonexinfo add '||a_colname(i)||' '||a_type(i)||' ';

end if;

end loop;

end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: