1

selectステートメントを使用してデータベースからスキーマ(ユーザー)名を見つける方法、または利用可能な組み込み関数はありますか?

スキーマ内のすべての無効なオブジェクトをコンパイルするために次のパッケージを使用しているため、スキーマ名をハードコーディングする代わりに、スキーマ名を返す select ステートメントまたは関数を使用したいと考えています。

DBMS_UTILITY.compile_schema('SCOTT');

ありがとう

4

2 に答える 2

2

USER「私のスキーマ」が「私のユーザー」に対応している場合、システム変数は必要なものに対応すると思います。通常は次のようになります。

declare
  u varchar2(100);
begin
  select user into u from dual;
  DBMS_UTILITY.compile_schema(u);
end;

またはPL/SQLブロックなし

DBMS_UTILITY.compile_schema(user);
于 2012-07-24T07:59:00.747 に答える
0

Oracle DB のスキーマはユーザーであるため、すべてのスキーマを取得する場合は、dba_users テーブルを使用する必要があります。

SELECT USERNAME
FROM DBA_USERS;

これはシステム テーブルであるため、適切なユーザー付与が必要であることに注意してください。

現在のユーザーが必要な場合は、USER_USERS ビューを使用できます。詳細については、こちらを参照してください。

お役に立てれば!

于 2012-07-24T08:00:47.863 に答える