您将如何在oracle SQL中打印每个表的名称以及该表中的列 - 通过打印表名一次,然后在该表中的每一列上单独行。
格式应该是这样的:
Table1
columns
Table2
Columns
答案 0 :(得分:1)
这应该可以解决问题。
DECLARE
TNAME user_tables.table_name%TYPE;
CNAME user_tab_columns.column_name%TYPE;
CURSOR ct1
IS SELECT table_name from user_tables;
CURSOR ct2 IS SELECT column_name FROM user_tab_columns WHERE table_name =TNAME;
BEGIN
OPEN ct1;
LOOP
FETCH ct1 INTO TNAME;
EXIT WHEN ct1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('TABLENAME:-->'|| TRIM(TNAME));
OPEN ct2;
LOOP
FETCH ct2 INTO CNAME;
EXIT WHEN ct2%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(' '|| TRIM(CNAME));
END LOOP;
CLOSE CT2;
END LOOP;
CLOSE ct1;
END;