Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 文 » SQL 文 (P ~ Z)

 

SETUSER 文

この文は、データベース管理者が別のユーザと同一化し、接続プールを有効にするために使用します。

構文
{ SET SESSION AUTHORIZATION | SETUSER }
[ [ WITH OPTION ] userid ]
パラメータ
  • WITH OPTION 句   デフォルトでは、パーミッション (グループ・メンバシップを含む) だけが変更されます。WITH OPTION を指定すると、有効なデータベース・オプションは userid の現在のデータベース・オプションに変更されます。

  • userid   ユーザ ID は、識別子 (SETUSER 構文) または文字列 (SET SESSION AUTHORIZATION 構文) です。識別子文字列を参照してください。

備考

SETUSER 文はデータベース管理者の仕事を簡単にするために用意されています。DBA 権限を持つユーザがデータベースの他のユーザと同一化することを可能にします。SETUSER 文を実行した後に、次のコマンドの 1 つを実行して、同一化しているユーザをチェックできます。

また、アプリケーション・サーバから SETUSER を使って、接続プールを利用できます。接続プールによって、必要な個々の接続の数が減り、パフォーマンスが向上します。

ユーザ ID のない SETUSER は、前に実行したすべての SETUSER 文を元に戻します。

プロシージャ、トリガ、イベント・ハンドラ、またはバッチ内では SETUSER 文を使用できません。

SETUSER 文の使用法には、次のようなものがあります。

  • オブジェクトの作成   SETUSER を使用して、別のユーザが所有することになるデータベース・オブジェクトを作成できます。

  • パーミッションのチェック   データベース管理者は、別のユーザのパーミッションとグループ・メンバシップを使用し、クエリ、プロシージャ、ビューなどのパーミッションや名前の決定をテストできます。

  • 管理者に安全な環境を提供   データベース管理者はデータベースでのすべての動作を行うパーミッションを持ちます。不注意から意図しない動作を行うことを確実に回避したい場合は、SETUSER を使用してパーミッションの少ない別のユーザ ID に切り替えることができます。

注意

プロシージャ、トリガ、イベント、またはバッチ内では SETUSER 文を使用できません。

パーミッション

DBA 権限が必要です。

参照
標準と互換性
  • SQL/2003   SET SESSION AUTHORIZATION はコア機能です。SETUSER はベンダ拡張です。

次の文は、ユーザ名 DBA によって実行され、ユーザ ID を Joe に変更し、さらに Jane に変更した後、DBA に戻します。

SETUSER "Joe"
// ... operations...
SETUSER WITH OPTION "Jane"
// ... operations...
SETUSER

次の文は、ユーザを Jane に設定します。ユーザ ID は、識別子ではなく文字列として提供されます。

SET SESSION AUTHORIZATION 'Jane';