DECLARE
code number(8) := 1;
str_old
varchar
(5) :=
'1'
;
str_new
varchar
(5) :=
''
;
data_id
varchar
(50) :=
''
;
BEGIN
FOR
code
IN
1..2234 LOOP
--从00001循环插入到02234
str_old :=
''
|| code;
str_new :=
''
;
--取出每条数据的主键ID
select
id
into
data_id
from
(
select
id, shortname_code, rownum rm
from
t_system_org
) v
where
v.rm = code;
--判断字符长度,设定str_new的值
IF length(str_old) = 1
THEN
str_new :=
'0000'
|| str_old;
ELSIF length(str_old) = 2
THEN
str_new :=
'000'
|| str_old;
ELSIF length(str_old) = 3
THEN
str_new :=
'00'
|| str_old;
ELSIF length(str_old) = 4
THEN
str_new :=
'0'
|| str_old;
ELSE
str_new := str_old;
END
IF;
--根据ID执行更新
update
t_system_org t
set
t.shortname_code = str_new
where
id = data_id;
commit
;
END
LOOP;
END
;
|
DECLARE
code number(8) := 1;
str_old varchar(5) := '1';
str_new varchar(5) := '';
data_id varchar(50) := '';
BEGIN
FOR code IN 1..2234 LOOP
str_old := '' || code;
str_new := '';
--取出每条数据的主键ID
select id into data_id from (
select id, shortname_code, rownum rm from t_system_org
) v where v.rm = code;
--判断字符长度,设定str_new的值
IF length(str_old) = 1 THEN
str_new := '0000' || str_old;
ELSIF length(str_old) = 2 THEN
str_new := '000' || str_old;
ELSIF length(str_old) = 3 THEN
str_new := '00' || str_old;
ELSIF length(str_old) = 4 THEN
str_new := '0' || str_old;
ELSE
str_new := str_old;
END IF;
--根据ID执行更新
update t_system_org t set t.shortname_code = str_new where id = data_id;
commit;
END LOOP;
END;