プライマリ・コンテンツに移動
Oracle® R Enterpriseユーザーズ・ガイド
リリース1.5
E67082-02
目次へ移動
目次
索引へ移動
索引

前
前へ
次
次へ

6.3.2 SQLでのスクリプトの管理

このトピックでは、Rスクリプトを作成および管理するためのPL/SQLプロシージャとOracle Databaseデータ・ディクショナリ・ビューを紹介します。

埋込みRの実行用のSQL APIの関数は、Oracle R EnterpriseのRスクリプト・リポジトリに格納されている名前付きのスクリプトを引数として必要とします。PL/SQLプロシージャsys.rqScriptCreateおよびsys.rqScriptDropは、スクリプトを作成および削除します。スクリプトを作成する場合やOracle R EnterpriseのRスクリプト・リポジトリから削除する場合は、RQADMINロールが必要です。

sys.rqScriptCreate関数を使用する場合、スクリプトの名前と、1つのR関数定義を含むR関数スクリプトを指定する必要があります。関数sys.rqScriptCreateおよびsys.rqScriptDropのコールは、BEGIN-END PL/SQLブロックでラップする必要があります。Rスクリプト・リポジトリには、R関数がキャラクタ・ラージ・オブジェクト(CLOB)として格納されるため、関数定義を一重引用符で囲んで文字列として指定する必要があります。

スクリプトの所有者は、rqGrantプロシージャを使用してスクリプトへの読取りアクセス権を別のユーザーに付与したり、rqRevokeプロシージャを使用して権限を取り消すことができます。別のユーザーによってアクセス権を付与されたスクリプトを使用するには、次のように、スクリプトの名前の前に所有者の名前とピリオドを付加して、所有者を指定する必要があります。

select * from table(rqEval(NULL, 'select 1 x from dual', 'owner_name.script_name'));

パブリック・スクリプトやユーザーが所有しているスクリプトには、所有者の接頭辞は必要ありません。

次の各表は、Oracle R EnterpriseのRスクリプト・リポジトリ内のスクリプトを管理するためのPL/SQLプロシージャと、スクリプトに関する情報を格納するデータ・ディクショナリ・ビューのリストです。

表6-3 スクリプトを管理するためのPL/SQLプロシージャ

PL/SQLプロシージャ 説明
rqGrant データストアまたはスクリプトへの読取りアクセス権を付与します。
rqRevoke データストアまたはスクリプトへの読取りアクセス権を取り消します。
sys.rqScriptCreate 指定されたR関数を、指定された名前でOracle R EnterpriseのRスクリプト・リポジトリに追加します。
sys.rqScriptDrop 指定されたR関数をOracle R EnterpriseのRスクリプト・リポジトリから削除します。

表6-4 スクリプトのデータ・ディクショナリ・ビュー

データ・ディクショナリ・ビュー 説明
ALL_RQ_SCRIPTS 現行のユーザーが使用可能な、Oracle R EnterpriseのRスクリプト・リポジトリ内のスクリプトを示します。
USER_RQ_SCRIPTS 現行のユーザーが所有している、Oracle R EnterpriseのRスクリプト・リポジトリ内のスクリプトを示します。
USER_RQ_SCRIPT_PRIVS 現行のユーザーが読取りアクセス権を付与したOracle R EnterpriseのRスクリプト・リポジトリ内のスクリプトおよびアクセス権が付与されたユーザーを示します。
SYS.RQ_SCRIPTS Oracle R EnterpriseのRスクリプト・リポジトリ内のシステム・スクリプトを示します。