13.6.1 オンプレミス・データベースでのEmbedded Python ExecutionのSQL APIについて
SQL APIを使用すると、Oracleデータベース環境の1つ以上の別個のPythonエンジンでユーザー定義Python関数を実行したり、OML4Pyスクリプト・リポジトリでユーザー定義Python関数を管理したり、データストアおよびスクリプト・リポジトリ内のユーザー定義Python関数へのアクセスを制御したり、それらに関する情報を取得できます。
Embedded Python Execution用のSQLインタフェースは、オンプレミスOracle Databaseインスタンスで使用できます。
OML4Pyには、次のタイプのSQLファンクションおよびプロシージャが用意されています。
- 
                     
                     
1つ以上のデータベースによって生成され管理されるPythonエンジンでユーザー定義Python関数を実行するためのSQL表ファンクション。ユーザー定義Python関数は、OML4Pyデータストア内のPythonオブジェクトを参照し、データベース・サーバー・マシンのPythonエンジンとともにインストールされるサードパーティ・パッケージを使用できます。
 - 
                     
                     
OML4Pyスクリプト・リポジトリでユーザー定義Python関数を作成および削除するためのPL/SQLプロシージャ。
 - 
                     
                     
データストアとそこに格納されたデータストア・オブジェクト、およびOML4Pyスクリプト・リポジトリ内のユーザー定義Python関数に対する読取り権限を付与および取り消すためのPL/SQLプロシージャ。
 
次の表に、Embedded Python ExecutionのSQLファンクションと、データストアおよびユーザー定義Python関数を管理するためのPL/SQLプロシージャを示します。
| ファンクションまたはプロシージャ | 説明 | 
|---|---|
pyqEvalファンクション
                               | 
                              
                                 
                                  渡されたデータに対してユーザー定義Python関数を実行します。  | 
                           
pyqGroupEvalファンクション
                               | 
                              
                                 
                                  データを1つ以上の列でグループ化し、各グループに対してユーザー定義Python関数を実行します。  | 
                           
pyqTableEvalファンクション
                               | 
                              
                                 
                                  データベースのデータに対してユーザー定義Python関数を実行します。  | 
                           
pyqRowEvalファンクション
                               | 
                              
                                 
                                  ユーザー定義Python関数の呼出しごとに、指定された数の行をパラレル処理で実行します。  | 
                           
pyqGrantプロシージャ
                               | 
                              
                                 
                                  現在のユーザーが所有するユーザー定義Python関数に対する読取り権限を別のユーザーに付与します。  | 
                           
pyqRevokeプロシージャ
                               | 
                              
                                 
                                  別のユーザーに付与された、現在のユーザーが所有するユーザー定義Python関数に対する読取り権限を取り消します。  | 
                           
pyqScriptCreateプロシージャ
                               | 
                              
                                 
                                  スクリプト・リポジトリでユーザー定義Python関数を作成します。  | 
                           
pyqScriptDropプロシージャ
                               | 
                              
                                 
                                  スクリプト・リポジトリからユーザー定義Python関数を削除します。  |