ヘッダーをスキップ

Oracle Rdb SQLリファレンス・マニュアル リリース7.2 E06178-01 |
| 目次 | 索引

戻る | 次へ |

デフォルトはTRANSACTION_DEFAULT=IMPLICITです。

### USER_DEFAULT=username

コンパイル時のユーザー名を指定します。

規格DECLARE ALIAS文のUSER DEFAULT句を使用する場合、この修飾子を使用して、コンパイル時のユーザー名をプログラムに渡します。

### WARNING

### NOWARNING

警告オプションの組合せを使用して、SQLモジュール・プロセッサによって書き込まれる警告メッセージを指定します。1つの警告オプションのみを指定する場合、丸カッコで囲む必要はありません。

WARNING修飾子およびNOWARNING修飾子を使用して、情報メッセージおよび警告メッセージをSQLモジュール・プロセッサによって書き込むかどうかを指定します。

### warning-option

端末、リスト・ファイル、またはこの両方に情報メッセージおよび警告メッセージをSQLモジュール・プロセッサによって書き込むかどうかを指定します。デフォルトはWARN修飾子です。2種類の警告オプションをWARN修飾子で指定することにより、メッセージ出力をカスタマイズできます。

NOWARN修飾子を指定する場合、警告オプションは指定できません。

## 使用方法

> - SQLモジュール言語では、様々なコンテキストで動的文字列を適切に処理できますが、GENERAL言語を使用する場合は必ず、正確な長さの静的記述子または動的記述子のいずれかを使用する必要があります。
>   GENERAL言語を指定してSQLモジュール言語ソース・ファイルを作成し、記述子で文字パラメータを渡す場合、渡される文字列の長さは指定された文字パラメータの最大サイズと同じである必要があります。同じでない場合、元の動的文字列のデータフィールド文字位置の後と同じ位置に、空白で文字列を埋め込むかわりに、余分な文字が格納されます。この制限は、静的文字列記述子ではなく動的文字列記述子を使用する言語（BASICやVAX SCANなど）からモジュール言語をコールするとき、特にINSERT操作でパラメータが渡されるときにのみ適用されます。
>   BASICなどの言語でこの問題を回避するには、MAP宣言で文字列定義を配置します。これにより、文字列は動的ではなく静的になります。

> - ファイル拡張子が違う場合でも、ホスト言語モジュール・ソース・ファイルおよび対応するSQLモジュール・ファイルには異なるファイル名を付けます。SQLモジュール・プロセッサとホスト言語コンパイラの両方で.objファイルが作成されます。ソース・ファイル名が同じ場合、LINKコマンドは失敗します。

> - Adaをソース言語として使用してSQLモジュールをコンパイルすると、Oracle RdbではSQLモジュール内のすべてのプロシージャに対するAda宣言を含むAdaパッケージが生成されます。各ルーチンの宣言の一部は、各パラメータの宣言です。これらのパラメータは、SQL_STANDARDパッケージ内のデータ型を使用して宣言されます。詳細は、第3.5節の最後にある「使用方法」を参照してください。

> - データベース・オプション修飾子を使用しても、下位互換性は作成されません。ここで、下位互換性とは、古いバージョンのデータベース・システムにリモートでアクセスすることを指します。ただし、インタフェースには、最新のバージョンでのみ使用可能なサポート・ルーチンが必要です。つまり、Oracle Rdb V6.0でコンパイルおよびリンクを行い、Oracle Rdb V5.1でプログラムを実行することはできません。

## 例

> 例1: SQLモジュールでのプログラムのコンパイルおよびリンク

> 次の例は、第3.2節の例にあるPascalのサンプル・プログラムをコンパイル、リンクおよび実行するコマンドを示しています。

>     $ SQLMOD :== $SQL$MOD
>     $ SQLMOD LIST_EMP_PASMOD.SQLMOD
>     $ PASCAL LIST_EMP.PAS
>     $ ! This LINK command requires that the logical name
>     $ ! LNK$LIBRARY is defined as SYS$LIBRARY:SQL$USER.OLB
>     $ LINK LIST_EMP.OBJ, LIST_EMP_PASMOD.OBJ
>     $ RUN LIST_EMP.EXE
>     Matching Employees:
>     Alvin     Toliver
>     Louis     Tarbassian