2

の代替は何ですか

use database_name

オラクルでSQLサーバーのコマンド?

4

1 に答える 1

2

別の方法は、次のalter sessionステートメントです。

alter session set current_schema=<<schema_name>>

主な違いの 1 つは、たとえば、select ステートメントで修飾子が省略された場合にのみスキーマ修飾子が変更されることです。たとえば、としてログインしuser1、上記のalter sessionステートメントをuser2current_schema として指定して実行した場合、 ではuser2なく がスキーマ修飾子として使用されますuser1。また、SQL Server のuseステートメントとは異なり、Oracle の元のセッションはその特権を保持し、alter sessionステートメントの実行後に新しい特権を取得しません。

user2たとえば、スキーマに存在するテーブルから選択できるようにするにuser1select on、そのテーブルまたはselect any table権限が必要です。他のオブジェクトについても同様です。そのオブジェクトを操作する権限がない場合、そのオブジェクトを参照するステートメントは失敗します。

于 2013-10-21T06:44:31.513 に答える