形式 1
>>--EXEC SQL---QUERY ODBC---.-COLUMN--.------------------>
+-COLUMNS-+
>---.--------------------------.--.------------------.--->
+-QUALIFIER qualifier_name-+ +-OWNER owner_name-+
>--.----------------------.--.------------------------.-->
+-TABLENAME table_name-+ +-COLUMNNAME column_name-+
>---END-EXEC---<>
形式 2
>>--EXEC SQL---QUERY ODBC---.-DATATYPE--.---------------->
+-DATATYPES-+
>---.-------------------------.---END-EXEC---><
+-TYPE--.-datatype_name--.+
+-BIGINT---------+
+-BINARY---------+
+-BIT------------+
+-CHAR-----------+
+-DATE-----------+
+-DECIMAL--------+
+-DOUBLE---------+
+-FLOAT----------+
+-INTEGER--------+
+-LONG VARBINARY-+
+-LONG VARCHAR---+
+-NUMERIC--------+
+-REAL-----------+
+-SMALLINT-------+
+-TIME-----------+
+-TIMESTAMP------+
+-TINYINT--------+
+-VARBINARY------+
+-VARCHAR--------+
形式 3
>>--EXEC SQL---QUERY ODBC---.-TABLE--.------------------>
+-TABLES-+
>---.--------------------------.--.------------------.--->
+-QUALIFIER qualifier_name-+ +-OWNER owner_name-+
>--.----------------------.--.------------------------.-->
+-TABLENAME table_name-+ +-TYPE tabletype_name----+
>--END-EXEC--<>
| qualifier_name | テーブルの選択に使用する修飾子を指定するホスト変数、識別子、または定数。 すべての ODBC ドライバが修飾子をサポートしているわけではないので、その指定内容は異なります。 たとえば、データソースで複数のデータベースがサポートされている場合は、使用するデータベースを修飾子によって指定できます。 また、ファイルベースのデータソースにアクセスできるドライバの場合は、修飾子を使用して検索対象となる特定のディレクトリを指定できます。 |
| owner_name | テーブルの選択に使用するテーブルオーナーを指定するホスト変数、識別子、または定数。 すべての ODBC ドライバがテーブル所有権をサポートしているわけではありません。 |
| table_name | クエリーに含めるテーブルを指定するホスト変数、識別子、または、定数。 |
| datatype_name | クエリー対象となるデータ型を指定するホスト変数、識別子、または、定数。 |
| tabletype_name | クエリーに含めるテーブルタイプのリストを指定するホスト変数、識別子、または、定数。 |
QUERY ODBC 文は、SELECT 文と同様に結果集合を送出します。このため、この文は DECLARE と OPEN、または DECLARE、PREPARE と OPEN を使用してカーソルに関連付ける必要があります。
検索パターンは、SQL 識別子に使用できる文字、任意の 1 文字を検索するためのアンダースコア (_)、0 文字以上の任意の文字列を検索するためのパーセント記号 (%)、または、パターン内でアンダースコアまたはパーセント記号をワイルドカードとしてではなくその文字自体として使用するためのドライバ定義のエスケープ文字で指定できます。
検索パターンパラメータが指定されていない場合は、関連するすべての辞書項目に一致する % のパターンが使用されます。
テーブルのクエリーには、次の特別な規則が適用されます。
EXEC SQL
DECLARE tcurs CURSOR FOR QUERY ODBC TABLES
END-EXEC
EXEC SQL DECLARE C1 CURSOR FOR
QUERY ODBC TABLES OWNER :tab-owner TABLETYPE 'TABLE,VIEW'
END-EXEC
MOVE 'staff' to tab-name
EXEC SQL DECLARE C2 CURSOR FOR
QUERY ODBC COLUMNS TABLENAME :tab-name
END-EXEC
EXEC SQL DECLARE C3 CURSOR FOR
QUERY ODBC DATATYPES
END-EXEC