17,377
社区成员
发帖
与我相关
我的任务
分享
create or replace procedure pro_passexe1
(
stander_n in varchar2,--标准号
paper_n in varchar2,--试卷名称
paper_t in number,--考试时间
quty in number,--生成试卷的数量
)
is
begin
for count1 in 1..quty
loop
if quty>1 then
insert into exe (std_id, exename,exe_time) values (stander_n,paper_n[quty],paper_t);
--红色部分是我想要的结果:试卷名称加上编号,形成一个新的字符串添加到表中,不知道怎么定义临时变量,把组合的新字符串保存
else
insert into exe (std_id, exename,exe_time) values (stander_n,paper_n,paper_t);
end if;
end loop;
end pro_passexe1;
create or replace procedure pro_passexe1
(
stander_n in varchar2,--标准号
paper_n in varchar2,--试卷名称
paper_t in number,--考试时间
quty in number--生成试卷的数量
)
is
v_exename varchar2(100);--临时变量
begin
for count1 in 1..quty
loop
if quty>1 then
v_exename:=paper_n | | '[ ' | |count1 | | '] '; --你的方法是想让字符串联合,可是编译的时候要报错啊!就这一句错!
insert into exe (std_id, exename,exe_time) values (stander_n,v_exename,paper_t);
v_exename:=paper_n
else
insert into exe (std_id, exename,exe_time) values (stander_n,paper_n,paper_t);
end if;
end loop;
end pro_passexe1;