比如student表的name字段的值是:张三
李四
王五
颜六
孙七
赵八
----
在SQL Server中可以用:
declare @s nvarchar(2000)
set @s=''
select @s=@s+','+ name from student
select @s得到下面的结果:
,张三,李四,王五,颜六,孙七,赵八
--------------------
如果是Oracle 9i,要得到同样的结果,SQL语句该怎样改动呢?

解决方案 »

  1.   

    declare   col1   student.name%type;                 --定义类型   
      sqlstr   varchar2(2000);   
      cursor   c_try is select name from student;   
      begin   
              sqlstr:='';   
              open   c_try;   
              loop   
              fetch   c_try   into   col1;   
              exit   when   c_try%notfound;   
              sqlstr:=sqlstr||','||col1;   
              exit   when   c_try%notfound;   
              end   loop;
              sqlstr:='select  '||sqlstr||' 姓名   from student';    
              close   c_try;
              dbms_output.put_line('name value:'||sqlstr);    --打印sql
    end;
      

  2.   

    怎么你的SQL语句在plsqldev中执行时,可以执行,但什么结果也看不到呢?