请将下面的SQL语句转换成ORACLE(PL/SQL)

来源:百度知道 编辑:UC知道 时间:2024/05/31 00:13:27
下面是我在SQLSERVER查询分析器上写的。可以成功运行。哪位兄弟能帮忙转成在PL/SQL上可执行的语句。

declare @dh varchar(24), @dh_in varchar(24), @jnsxh varchar(4), @flh varchar(2), @ajh varchar(4), @ajtm varchar(254), @bgqx varchar(10)
declare @index int, @index_in int

set @flh = '09'
set @index = 1
while @index <= 20
begin
set @ajh = right(convert(varchar(5), @index + 10000), 4)
set @dh = @flh + '-' + @ajh

insert into
aj65 (dalx, bm_id, jg_id, qzh, dh, flh, ajh, ajtm, bgqx)
values('aj6571', 0, 0, '', @dh, @flh, @ajh, '案卷题名' + @dh, '长期')
set @index = @index + 1

set @index_in = 1
while @index_in <= 20
begin
set @jnsxh = right(convert(varchar(5), @index_in + 10000), 4)
set @dh_in = @dh + '-' + @jnsxh

insert into
jn65 (dalx, bm_id, jg_id, qzh, dh, flh, ajh, wjbt, bgqx, j

本人把操作放入了一个存储过程over,也可以不把它放入存储过程,直接执行也行,希望对你有帮助,
=====================================================================================
create or replace procedure over() is

v_wip_sta_type varchar2(10);
v_prior_level varchar2(10);
v_new_groupid varchar2(10);
V_discrepancy_time int;
v_exceeded_time number;
dh varchar2(10);
dh_in varchar2(10);
jnsxh varchar2(10);
flh varchar2(10);
ajh varchar2(10);
ajtm varchar2(10);
bgqx varchar2(10);
index_text int;
index_in int;
begin
flh:='09';
index_text:=1;
if index_text<20 then
begin
ajh:=right(convert(varchar(5),index_text+10000),4);----我不太清楚你这个right(convert(varchar(5),index_text+10000),4)是干什么用的
dh:=flh || '-'+ajh;
insert into aj65 (dalx, bm_id, jg_id, qzh, dh, flh, ajh, ajtm, bgqx)
values('aj6571',0,0,'',dh,flh