この章では、Empress リレーショナルデータベースマネージメントシステム (RDBMS) の C 言語 Empress SQLプリコンパイラのリファレンスマニュアルです。
Empress 問い合わせ言語の概要、 その操作規約、および構文規約の詳細は Empressマニュアルセットの Empress SQL: リファレンス に提供されています。
このマニュアルは、C 言語プログラムとデータベースの基本を 理解されているユーザーであることを前提に記述されています。 また、このマニュアルは、Empress SQLプリコンパイラの ガイドおよびリファレンスとして記述され、一般的な データベースおよびEmpressのアプリケーション作成の プログラミングガイドではないことに注意してください。
Empress SQLプリコンパイラは、 C 言語プログラム中に SQL コマンドを記述し、 Empressデータベースへのアクセスおよび データ格納することが可能です。 Empressデータベースは 以下のテーブルのオペレーションをサポートしています。
SQLプリコンパイラコマンド構文を示すために使用される表記方法と合わせて、 データベース、テーブルおよびアトリビュートの名前付けの規約を説明します。
プリコンパイラは、SQLおよびホスト言語の両方に関係した いくつかのキーワードを識別します。 キーワードではないものは、 SQL宣言セクションのプログラム変数名として 使用することができます。
以下は、プリコンパイラが識別するキーワードのリストです。 この予約キーワードのリストは、次の3つのセットの組み合わせたものになります。
| - | / | { |
| } | * | + |
| = | again | allocate |
| and | asc | ascending |
| attr | attribute | auto |
| automatic | begin | between |
| by | bypass | bypass_lock |
| call | cancel | char |
| close | close_table | commit |
| comparison | const | continue |
| count | current | cursor |
| da_cntrl | da_data | da_dlen |
| da_name | da_nlen | database |
| da_type | db | deallocate |
| declare | deferred | delete |
| desc | descending | describe |
| descriptor | distinct | double |
| drop | dtgboolean | dtgbulk |
| dtgchar | dtgdate | dtgdecimal |
| dtgexternal | dtgfloat | dtginteger |
| dtginterval | dtgtext | end |
| excl | exclusive | exec |
| execute | exit | extern |
| fetch | fetch_again | float |
| for | found | free |
| from | generic | get |
| goto | immediate | incl |
| include | inclusive | init |
| inout | input | insert |
| int | into | is |
| like | long | max |
| memory | next | not |
| null | of | off |
| on | open | open_table |
| or | order | output |
| prepare | prior | range |
| read | register | rollback |
| section | select | set |
| short | signed | sort |
| sql | sqlca | sqlda |
| sqlerror | sqlwarning | start |
| static | struct | table |
| to | transaction | typedef |
| union | unique | unsigned |
| update | using | value |
| values | void | volatile |
| whenever | where | with |
| work |
プリコンパイラは、大文字・小文字の区別をせずキーワードを受け付けますが、 ホスト言語のキーワードの指定は、 使用しているマシンのコンパイラの規約に従い入力する必要があります。
テーブルまたはアトリビュート名が、上記のキーワードと重なった場合、 単純な名前としてではなく、複合した名前として扱う必要があります。 アトリビュート名は、引用符で囲むか ATTRキーワードをアトリビュート名の前に記述するかあるいは テーブル名とピリオド(TABLE_NAME.ATTR_NAME規約) をアトリビュート名の前に記述する必要があります。
上記に記載されたキーワードセットのほかに パーシステントストアードモジュール(PSM)としての関数の名前もまた そのデータベースに対してのキーワードとして考慮する必要があります。
以下は、プリコンパイラのキーワードの 同意語のリストです。
| != | ~= |
| !MATCH | ~MATCH |
| !SMATCH | ~SMATCH |
| ASC | ASCENDING |
| ATTR | ATTRIBUTE |
| CANCEL | ROLLBACK |
| DATABASE | DB |
| DESC | DESCENDING |
| DISTINCT | UNIQUE |
| EXCL | EXCLUSIVE |
| INCL | INCLUSIVE |
| ORDER | SORT |
| TRANSACTION | WORK |