create or replace procedure printcolsmaxlength(v_table varchar2) as
cursor cols_s is select * from user_tab_cols where table_name = upper(v_table);
v_sql varchar2(2000);
v_length number;
begin
for col in cols_s loop
v_sql := 'select max(length('||col.column_name||')) from '||v_table;
execute immediate v_sql into v_length;
dbms_output.put_line(col.column_name||'最长的值:'||v_length);
end loop;
end;