Oracleでオブジェクトを作成し、スキーマ(オブジェクトプレフィックス)を指定しない場合、そのデフォルトスキーマの名前はありますか? Oracle SQL Developerで、接頭辞が指定されていない場合、スキーマオブジェクトノードではなく、新しく作成されたオブジェクトがルートオブジェクトノードに表示されることがわかりました。
スキーマXの下にテーブルを作成:
X.table_1
デフォルトのスキーマの下にテーブルを作成:
表1
デフォルトでは、ログインに使用したユーザーであり、次のようにクエリできます。
select sys_context('USERENV', 'CURRENT_SCHEMA') from dual;
ただし、セッションで現在のスキーマを変更できます。
alter session set current_schema=USER2;
この後、スキーマを指定せずにテーブルを作成すると、ログオンしたユーザーに関係なく、そのテーブルはUSER2スキーマに作成されます。