外部プロシージャ定義のコードを記述するときに、必須であるLANGUAGE句でLANGUAGE JAVAを指定して、その言語がJavaであることを示します(LANGUAGE句を参照)。
Java外部プロシージャは、標準JDBCドライバ インターフェースを使用してSQLコードを実行します。Java外部プロシージャはTeradata Databaseで実行され、ログオンしたセッション内から呼び出されるので、データベースへの接続は、jdbc:default:connectionという名前のデフォルトの接続を使用することになります。
Javaプログラムは、(ログオンされる別のセッションを使用して)別のデータベースまたは同一データベースへの別個の接続を作成できます。外部Javaプロシージャがこの接続を行なう場合、検出不能なデッドロックを作成する可能性があります。
ANSI SQL:2011規格では、Java外部プロシージャの次のルール セットを指定しています。
- Javaソース コードはデータベースの外部でコンパイルする必要があります。
外部Java言語ルーチンは、Javaプログラムでの埋込みSQL文のコーディングにJDBC規格を使用して記述する必要があります。
結果のクラス(バイト コード)は、JARファイル内に設定する必要があります。
- 次に、JARファイルをデータベースと共に登録する必要があります。
- 登録を行なうには、SQLJ.Install_Jarという名前の外部プロシージャを呼び出します。
- システムが、登録したJARファイルおよび関連Javaクラスを指定するEXTERNAL NAME句を使用して、Java外部プロシージャを作成します。
それが作成されたなら、それ以降、外部プロシージャと同様にJavaルーチンにアクセスできます。
Java外部プロシージャの記述の詳細について、<Teradata Vantage™- SQL外部ルーチン プログラミング、B035-1147>を参照してください。