の代替は何ですか
use database_name
オラクルでSQLサーバーのコマンド?
別の方法は、次のalter session
ステートメントです。
alter session set current_schema=<<schema_name>>
主な違いの 1 つは、たとえば、select ステートメントで修飾子が省略された場合にのみスキーマ修飾子が変更されることです。たとえば、としてログインしuser1
、上記のalter session
ステートメントをuser2
current_schema として指定して実行した場合、 ではuser2
なく がスキーマ修飾子として使用されますuser1
。また、SQL Server のuse
ステートメントとは異なり、Oracle の元のセッションはその特権を保持し、alter session
ステートメントの実行後に新しい特権を取得しません。
user2
たとえば、スキーマに存在するテーブルから選択できるようにするにuser1
はselect on
、そのテーブルまたはselect any table
権限が必要です。他のオブジェクトについても同様です。そのオブジェクトを操作する権限がない場合、そのオブジェクトを参照するステートメントは失敗します。