SQL Engine Reference (v11)

概要

Pervasive PSQL リレーショナル インターフェイスには、COBOL の OCCURS コンストラクト、部分的 REDEFINES、および可変レコード レイアウトのサポートが含まれています。

部分的 REDEFINES は、レコードの中でデータの一部分を再定義します。たとえば、01 レベルの中にある 05 レベルで再定義を行います。可変レコード レイアウトもまた REDEFINES と呼ばれます。これは、レコード全体を再定義するものだからです。用語の混乱を避けるため、このセクションでは部分的 REDEFINES および可変レコード レイアウトと呼びます。

SQL アクセスを利用するために COBOL アプリケーションを変更する必要はありません。

アプリケーションによるデータの解釈を Pervasive PSQL リレーショナル インターフェイスに示すことによって SQL アクセスが可能になります。開発者の用語を使用すれば、リレーショナル インターフェイスにメタデータを定義します。

このセクションは、OCCURS、部分的 REDEFINES、または可変レコード レイアウトを含んでいる COBOL アプリケーションにのみ適用されることに注意してください。

制限

現在、COBOL アプリケーションに SQL アクセスを提供する場合には以下の制限が適用されます。

SQL ステートメント

次の表は、OCCURS、部分的 REDEFINES、または可変レコード レイアウトに基づいて作成されたデータ テーブルでの SQL ステートメントの使用を示します。

表 195 COBOL データ構造での SQL ステートメントの使用
ステートメント
OCCURS、部分的 REDEFINES での使用
可変レコード レイアウトでの使用
注記
ALTER TABLE
No
No
 
CREATE INDEX
No
No
 
CREATE INDEX IN DICTIONARY
No
Yes
 
CREATE TRIGGER
No
No
 
DELETE
No
Yes
 
DROP TABLE
Yes
Yes
DROP TABLE ステートメントは、システム テーブルからすべてのエントリを削除します。データ ファイル自体は削除も変更もされません。また、メイン テーブルを削除する場合、従属テーブルが検出されると、それらをすべて削除するよう通知するメッセージが表示されます。従属テーブルはメイン テーブルに依存するものであり、これはインデックスを含んでいる OCCURS や部分的 REDEFINES などの条件によって生じます。従属テーブルを削除すれば、メイン テーブルの削除が可能になります。
INSERT INTO
No
No
 
UPDATE
Yes
Yes
UPDATE ステートメントで、テーブル フィルターが定義されている列は更新できません。テーブル フィルターとは、テーブルに関連付けられている論理式のことです。テーブル フィルターは XML ファイル内のメタデータの一部として定義されます。
本ドキュメントに列挙されているその他すべての SQL ステートメント
Yes
Yes
ステートメントの文法を参照してください。


COBOL アプリケーションの SQL アクセス

コンポーネント