|
Pervasive PSQL リレーショナル インターフェイスには、COBOL の OCCURS コンストラクト、部分的 REDEFINES、および可変レコード レイアウトのサポートが含まれています。
部分的 REDEFINES は、レコードの中でデータの一部分を再定義します。たとえば、01 レベルの中にある 05 レベルで再定義を行います。可変レコード レイアウトもまた REDEFINES と呼ばれます。これは、レコード全体を再定義するものだからです。用語の混乱を避けるため、このセクションでは部分的 REDEFINES および可変レコード レイアウトと呼びます。
SQL アクセスを利用するために COBOL アプリケーションを変更する必要はありません。
アプリケーションによるデータの解釈を Pervasive PSQL リレーショナル インターフェイスに示すことによって SQL アクセスが可能になります。開発者の用語を使用すれば、リレーショナル インターフェイスにメタデータを定義します。
このセクションは、OCCURS、部分的 REDEFINES、または可変レコード レイアウトを含んでいる COBOL アプリケーションにのみ適用されることに注意してください。
現在、COBOL アプリケーションに SQL アクセスを提供する場合には以下の制限が適用されます。
次の表は、OCCURS、部分的 REDEFINES、または可変レコード レイアウトに基づいて作成されたデータ テーブルでの 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
|
ステートメントの文法を参照してください。
|
|