mukeliang728 发表于 2013-1-14 08:46:56

sql plus 格式化

CREATE OR REPLACE PROCEDURE print_table( p_query in varchar2 )AUTHID CURRENT_USERIS    l_theCursor   integer default dbms_sql.open_cursor;    l_columnValue   varchar2(4000);    l_status      integer;    l_descTbl       dbms_sql.desc_tab;    l_colCnt      number;    l_rowCnt      number:=1;BEGIN    dbms_sql.parse(l_theCursor,p_query, dbms_sql.native );    dbms_sql.describe_columns( l_theCursor, l_colCnt, l_descTbl);    for i in 1 .. l_colCnt loop      dbms_sql.define_column(l_theCursor, i, l_columnValue, 4000);    end loop;    l_status := dbms_sql.execute(l_theCursor);    while ( dbms_sql.fetch_rows(l_theCursor) > 0 ) loop      for i in 1 .. l_colCnt loop         dbms_sql.column_value( l_theCursor, i, l_columnValue );         dbms_output.put_line( rpad( l_descTbl(i).col_name, 30 )                                  || ': ' ||                                  l_columnValue );      end loop;      dbms_output.put_line( '---------------------------------------------------' );      l_rowCnt := l_rowCnt + 1;    end loop;   EXCEPTION    when others then      dbms_sql.close_cursor( l_theCursor );      RAISE;       END print_table;  
 
页: [1]
查看完整版本: sql plus 格式化