declare
icount number;
begin
select count(*) into icount from user_tab_cols uc
where uc.TABLE_NAME='CONVERTNUMBERTOVARCHAR' and uc.COLUMN_NAME='OBJECTID';
if icount = 0 then
----原来objectid 改名 objectid2
execute immediate' alter table CONVERTNUMBERTOVARCHAR rename column OBJECTID to OBJECTID2 ';
----新建一个同名字段objectid
execute immediate' alter table CONVERTNUMBERTOVARCHAR add OBJECTID VARCHAR2';
----将原来的字段的值赋值给新建的objectid,类型转换使用显示转换cast
execute immediate' update CONVERTNUMBERTOVARCHAR set OBJECTID = CAST(OBJECTID2 AS varchar2(128))';
----删除原来的字段
execute immediate' alter table CONVERTNUMBERTOVARCHAR drop OBJECTID2 ';
end if;
end;
/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25550578/viewspace-1383146/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25550578/viewspace-1383146/