Hitachi

ノンストップデータベース HiRDB Version 10 SQLリファレンス


5.9.1 SET ROLE文の形式と規則

〈この項の構成〉

(1) 機能

現在ロールを設定します。現在ロールとは,現在有効とするロールのことをいいます。

(2) 使用権限

指定したロール名のロール利用権限を持つユーザが,現在有効とするロールを設定できます。

(3) 形式

 SET ROLE {ロール名|NONE}

(4) オペランド

(a) {ロール名|NONE}

ロール名

現在ロールに設定するロールのロール名を指定します。

定義済のロールを指定してください。

NONE

現在ロールを設定しない場合に指定します。

(5) 共通規則

  1. 現在ロールは一つだけ設定できます。

  2. 現在ロールには,このSQLの実行者がロール利用権限を直接持つロールだけを設定できます。

  3. 現在ロールとして設定中のロールは,アクセス権限,又はロール利用権限を変更することはできません。

  4. トランザクション実行中は現在ロールを変更することができません。トランザクション実行中にSET ROLE文を実行するとSQLエラーとなります。

  5. 現在ロールが存在する場合にSET ROLE文を実行した場合,現在ロールが更新されます。また,SET SESSION AUTHORIZATION文を実行した場合,現在ロールが設定なしに更新されます。

  6. SET ROLE 文をサポートするクライアント種別を次に示します。

    クライアント種別

    サポート状況

    埋込み型UAP

    ×

    Type4 JDBCドライバ

    JDBC2.0版

    ×

    JDBC4.0版

    JDBC4.3版

    ODBCドライバ

    ×

    HiRDBデータプロバイダ for .NET Framework

    ×

    OLE DBプロバイダ

    ×

    Type2 JDBCドライバ

    ×

    SQLJ

    ×

    (凡例)

    ○:サポート

    ×:未サポート

    execute,executeUpdate,executeBatchメソッドを使用してSET ROLE文を実行できます。PreparedStatement,CallableStatementでは実行できません。

(6) 使用例

現在ロールにロール(ROLEA)を設定します。

    SET ROLE ROLEA