关于存储过程得到字符串的问题?
悬赏:5 发布时间:2008-07-04 提问人:xey8501 (初级程序员)
mis_data.dept_status的表数据
id
1
2
3
4
创建如下存储过程:
create or replace procedure test
as
a varchar(20);
begin
for new in(select * from mis_data.dept_status)
loop
a:=new.belong_region;
a:=a||',';
end loop;
dbms_output.put_line(a);
end;
这样的话结果是4,
那我要的结果是1,2,3,4
要怎么做?
id
1
2
3
4
创建如下存储过程:
create or replace procedure test
as
a varchar(20);
begin
for new in(select * from mis_data.dept_status)
loop
a:=new.belong_region;
a:=a||',';
end loop;
dbms_output.put_line(a);
end;
这样的话结果是4,
那我要的结果是1,2,3,4
要怎么做?
采纳的答案
2008-07-04 congjl2002 (资深程序员)
你的这句
a:=new.belong_region;
当然取到的只是最后一个,然后加了一个逗号,这样写试试
a:=new.belong_region;
当然取到的只是最后一个,然后加了一个逗号,这样写试试
create or replace procedure test as a varchar(20); b varchar(20); begin for new in(select * from mis_data.dept_status) loop a:=a||new.belong_region','; end loop; dbms_output.put_line(a); end;
提问者对于答案的评价:
very good




