-1

1 つのデータベース内のすべてのスキーマのすべてのテーブル記述を取得するために、このコードを提供しました。私はオンラインで検索し、以下のコードを思いつきました。エラーがわかりません。

このエラーを解決できる人、または問題の代替案を提供してくれる人

SQL>  Begin
  2    For q in (select distinct owner from dba_objects)
  3    loop
  4   for r in (select table_name, owner from all_tables where owner = 'q.owner')
  5   loop
  6    dbms_output.put_Line('table '||r.table_name);
  7    execute immediate 'desc ' || r.table_name
  8    end loop;
  9    end loop;
 10    end;
 11    /

end loop;
 *

ERROR at line 8:
ORA-06550: line 8, column 3:
PLS-00103: Encountered the symbol "END" when expecting one of the following:
. ( * @ % & = - + ; < / > at in is mod remainder not rem
return returning <an exponent (**)> <> or != or ~= >= <= <>
and or like like2 like4 likec between into using || bulk
member submultiset
The symbol ";" was substituted for "END" to continue.
4

2 に答える 2

0

7 行目:execute immediate 'desc ' || r.table_name

入れ忘れた;

于 2013-05-24T09:23:07.810 に答える