declare
cnt integer;
tempcnt integer;
tempcnt2 integer;
begin
select count(0)
into cnt
from user_tab_columns a
and a.column_name = upper('intermediarycosts')
and a.data_type = upper('number')
and a.data_scale = 2;
select count(0)
into tempcnt
from user_tab_columns a
and a.column_name = upper('intermediarycosts_1');
if cnt = 0 then
if tempcnt = 1 then
if tempcnt2 = 0 then
end if;
else
tempcnt2 := 0;
end if;
if tempcnt2 = 0 then
end if;
end if;
select count(0)
into tempcnt
from user_tab_columns a
and a.column_name = upper('intermediarycosts_1');
if tempcnt = 1 then
end if;
end;
/
cnt表示是該字段型別事都已經修改過了,
tempcnt表示是否有臨時字段
tmpcnt表示臨時欄位中是否有值
首先判斷該欄位是否已經修改過,如果沒有:
判斷是否有臨時字段
如果沒有臨時字段
新建臨時字段
如果有臨時字段
判斷臨時欄位中是否有值
如果有不做操作
如果沒有就記錄tmpcnt2 = 0
如果沒有臨時字段
建立臨時字段 並記錄tmpcnt2 = 0
如果tmpcnt2 = 0;
複製原字段到臨時字段
修改欄位為需要的型別
複製臨時表中的資料過來
刪除臨時表
(大概是這個意思,這樣邏輯是因為欄位中有資料就不可以修改字段型別)
ORACLE常用資料庫字段型別
oracle常用資料庫字段型別 常用的資料庫字段型別如下 字段型別 中文說明 限制條件 其它說明 char 固定長度字串 最大長度2000 bytes varchar2 可變長度的字串 最大長度4000 bytes 可做索引的最大長度749 nchar 根據字符集而定的固定長度字串 最大長度2000...
ORACLE常用資料庫字段型別
oracle常用資料庫字段型別 常用的資料庫字段型別如下 字段型別 中文說明 限制條件 其它說明 char 固定長度字串 最大長度2000 bytes varchar2 可變長度的字串 最大長度4000 bytes 可做索引的最大長度749 nchar 根據字符集而定的固定長度字串 最大長度2000...
Oracle常用的資料庫字段型別
字段型別 中文說明 限制條件 其它說明 char 固定長度字串 最大長度2000 bytes varchar2 可變長度的字串 最大長度4000 bytes 可做索引的最大長度749 nchar 根據字符集而定的固定長度字串 最大長度2000 bytes nvarchar2 根據字符集而定的可變長度...