Oracle對資料庫字段型別的可重複提交指令碼

2021-08-22 15:08:11 字數 1237 閱讀 6105

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 根據字符集而定的可變長度...