EXECUTE AS ステートメント
別のユーザーとしてクエリを実行できるようにします。
構文
最初の形式(subquery を含まないもの)は、現在のセッション内でその後に実行されるすべてのクエリが、指定された target_user として実行されるように設定します。
2 番目の形式(subquery を含むもの)は、指定された subquery のみを、指定された target_user として実行します。
どちらの形式も機能させるには、サーバー設定 allow_impersonate_user
を 1 に設定し、さらに IMPERSONATE 権限が付与されている必要があります。例えば、次のコマンドは
ユーザー user2 には EXECUTE AS user1 ... コマンドの実行を許可し、ユーザー user3 には任意のユーザーとしてコマンドを実行することを許可します。
別のユーザーとして実行している間、関数 currentUser() はそのユーザーの名前を返し、 関数 authenticatedUser() は実際に認証されたユーザーの名前を返します。