这是sqlserver 的 动态sql 。 
 DECLARE @SQL VARCHAR(MAX)
 SELECT @SQL=ISNULL(@SQL+',','')+ '['+CAST(ACCOUNT_ZONE AS VARCHAR)+']' FROM
 (SELECT  DISTINCT ACCOUNT_ZONE FROM  ACCOUNT_INFO  ) AEXEC (@SQL1)
 现在想在oracle中实现类似的功能怎么办呢? 不用游标。。各位大侠帮帮忙。 
取出table_name    
 想让取出来的  格式的是   
   table_name1,table_name2,table_name3  
 
 select table_name from user_tables where substr(table_name,1,1)='B' ;  

解决方案 »

  1.   

    这样可以么
    create table table_name1 (c1 number(2));
    create table table_name2 (c1 number(2));
    create table table_name3 (c1 number(2));
    create table table_name4 (c1 number(2));
    select wm_concat(table_name) table_name
    from user_tables
    where table_name like upper('table_name%')
                         table_name
    ---------------------------------------------------------------
    1 TABLE_NAME1,TABLE_NAME2,TABLE_NAME3,TABLE_NAME4
      

  2.   

      
    这个可以的。已经实现了。谢谢你! 就是为什么 在plsql developer 的 sql 命令 执行是
        WM_CONCAT(TABLE_NAME)
    1 <CLOB>
     是这样的结果。  
    非得在命令行执行呢。这是为什么呢
      

  3.   

    Clob字段内容多,无法在sqlplus下直接输出
      

  4.   

    如果不添加条件 直接查询所有的table_name 会有很多表的   在oracle中 所有表和字段都存的是大写