17.10 - PACKAGE NAME句 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

PACKAGE NAME句では、この外部プロシージャ定義に使用するパッケージ ファイルへの明示的なパスを指定します。パッケージは、外部プロシージャCまたはC++関数および外部プロシージャにより呼び出されるその他の関数を格納するライブラリです。

典型的なパッケージには、関数ライブラリ、およびプロシージャを作成してユーザーに提供するために必要なSQLのDDL文とDCL文を含むスクリプトが含まれます。

パッケージは、Linuxシステムでは.so拡張子を持つ共有オブジェクト ファイルです。

パッケージ ファイルは、すべてのサーバー ノードに配布する必要があります。

パッケージ オプションは、他のエンコードされたパス文字列句と共に指定することはできませんが、プロシージャのエントリ ポイント名の文字列と共に指定することはできます(EXTERNAL NAME句を参照)。

サード パーティ製のパッケージをデータベース ノードに配布するには、そのパッケージの資料にあるインストール手順を参照してください。独自のプログラミング スタッフが開発したパッケージをインストールする場合は、以下の一般的な手順のいずれかを使用できます。
  • パッケージを特定のディレクトリにインストールしてから、PCLを使用してパッケージをすべてのノードに配布します。
  • クライアント システムからFTP経由でパッケージを入手します。

この句の構文は、以下のとおりです。

SP¡package_name

文字¡は、ユーザー定義の区切り記号を表わします。

パッケージがSQL呼び出しをサポートする場合、適切なSQL DATA ACCESSオプションを指定するほかに、これらの呼び出しを処理するAPIの名前も指定する必要があります。

詳細は、EXTERNAL NAMEパッケージ句のCLIオプションの指定およびSQL DATA ACCESS句を参照してください。

以下の手順に従って、パッケージ ファイル名の文字列を指定します。

  1. この句の先頭に文字Sを入力して、これがサーバー指定であることを示します。
  2. 文字Pを入力して、これがパッケージ ファイルの指定であることを示します。
  3. 任意の区切り記号を使用して、文字列内に指定するPコードとパッケージ名を区分します。
  4. サーバー上のパッケージ ファイルに割り当てられたパスと名前を指定します。

    パッケージ ファイルの拡張子は、Linuxシステムでは.soでなければなりません。

    パスには、システムにすでにインストールされていて、そのすべてのノードに配布されているパッケージまたはAPIの名前を指定する必要があります。その最大長は256文字です。

    name_on_serverはすべて、同じデータベース内に作成されたUDF、テーブルUDF、および外部プロシージャの間で固有でなければなりません。CREATE/REPLACE PROCEDURE定義に非固有のname_on_serverの指定が含まれる場合、システムはそれを作成しません。

    すべてのプラットフォームで、\または/記号を使用してパスを指定できます。