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]