形式 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