外部ストアド プロシージャを実装するクラスを含むJARファイルを登録したら、CREATE PROCEDURE文またはREPLACE PROCEDURE文でSQL外部ストアド プロシージャを定義できます。
外部ストアド プロシージャのデータベース
CREATE PROCEDURE文またはREPLACE PROCEDURE文を実行して、JARファイルのクラスによって実装される外部ストアド プロシージャを定義する場合は、JARファイルが登録されているデータベースを使用する必要があります。
クラス名、メソッド名、およびJAR識別子の指定
CREATE PROCEDURE文およびREPLACE PROCEDURE文には、登録済みのJARファイルの識別子、および外部ストアド プロシージャを実装するJARファイルのクラスとメソッド名を指定するためのEXTERNAL NAME句が用意されています。
次のようなCREATE PROCEDURE文があるとします。
CREATE PROCEDURE GetReport(INOUT Str VARCHAR(120)) LANGUAGE JAVA READS SQL DATA PARAMETER STYLE JAVA EXTERNAL NAME 'Report_JAR:report.getReport';
説明
EXTERNAL NAME句の文字列 | 指定内容 |
---|---|
Report_JAR | SQLJ.INSTALL_JARプロシージャに提供された登録済みのJARファイルの識別子。 |
Report | Java外部ストアド プロシージャを実装する登録済みのJARファイルのクラス名。 |
getReport | 外部ストアド プロシージャがCALL文で呼び出される際にデータベースが呼び出す、指定されたクラスのメソッド名。 |
データ アクセスの型の指定
外部ストアド プロシージャがSQLの実行にJDBCを使用しない場合、CREATE PROCEDURE文またはREPLACE PROCEDURE文でNO SQLデータ アクセス句を指定して、外部ストアド プロシージャがSQLを実行しないことを示すことができます。
- CONTAINS SQL
- READS SQL DATA
- MODIFIES SQL DATA
詳細と例については、Java外部ストアド プロシージャでのSQLの実行のプロシージャが実行するSQL文の型の制限を参照してください。
デフォルト パスと一時パス
外部ストアド プロシージャを管理するため、Teradataでは外部ストアド プロシージャの作成と実行にデフォルト パスと一時パスが使用されます。これには、外部ストアド プロシージャがコンパイルされる一時ディレクトリが含まれます。
外部ストアド プロシージャのデフォルト パスおよび一時パスの名前など、詳細については、<Teradata Vantage™ - データベースの管理、B035-1093>を参照してください。
関連トピック
詳細情報 | 参照先 |
---|---|
CREATE PROCEDURE文およびREPLACE PROCEDURE文 | Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144 |
外部ストアド プロシージャに適用される権限 | Teradata Vantage™ - データベースの管理、B035-1093 |