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


目次