WHERE句の使用
CREATE CACHE GROUP
文内のキャッシュ表定義には、特定のキャッシュ・グループ・タイプについて、TimesTenデータベースにキャッシュする行を制限するWHERE
句を含めることができます。
また、特定のキャッシュ・グループ・タイプの場合、LOAD CACHE GROUP
文、UNLOAD CACHE GROUP
文、REFRESH CACHE GROUP
文またはFLUSH CACHE GROUP
文にWHERE
句を指定することもできます。LOAD CACHE GROUP
文やREFRESH CACHE GROUP
文などのいくつかの文では、キャッシュ表定義のWHERE
句がLOAD CACHE GROUP
文またはREFRESH CACHE GROUP
文のWHERE
句より前に評価される連結WHERE
句が発生する場合があります。
キャッシュ表定義およびキャッシュ・グループ処理で使用されるWHERE
句には、次の制限が適用されます。
-
CREATE CACHE GROUP
文のキャッシュ表定義にWHERE
句を指定できるのは、読取り専用キャッシュ・グループおよびユーザー管理キャッシュ・グループの場合のみです。 -
自動リフレッシュを使用する静的キャッシュ・グループ以外では、
LOAD CACHE GROUP
文にWHERE
句を指定できます。LOAD CACHE GROUP
の詳細は、「キャッシュ・グループの手動によるロードおよびリフレッシュ」を参照してください。 -
自動リフレッシュを使用するキャッシュ・グループ以外では、
REFRESH CACHE GROUP
文にWHERE
句を指定できます。REFRESH CACHE GROUP
文の詳細は、「キャッシュ・グループの手動によるロードおよびリフレッシュ」を参照してください。 -
TimesTenキャッシュ表でコミットされた変更を、キャッシュされたOracle Database表にフラッシュできるユーザー管理キャッシュ・グループでは、
FLUSH CACHE GROUP
文にWHERE
句を指定できます。FLUSH CACHE GROUP
文の詳細は、「ユーザー管理キャッシュ・グループのフラッシュ」を参照してください。 -
CREATE CACHE GROUP
文のWHERE
句には、副問合せを使用できません。したがって、各WHERE
句では、キャッシュ表定義内にある表以外の表を参照できません。ただし、LOAD CACHE GROUP
文、UNLOAD CACHE GROUP
文、REFRESH CACHE GROUP
文またはFLUSH CACHE GROUP
文のWHERE
句には、副問合せが含まれる場合があります。 -
WHERE
句に副問合せが含まれる場合を除いて、LOAD CACHE GROUP
文、REFRESH CACHE GROUP
文またはFLUSH CACHE GROUP
文のWHERE
句で参照できるのは、キャッシュ・グループのルート表のみです。 -
キャッシュ・グループの作成、ロード、リフレッシュ、アンロードまたはフラッシュ時に
WHERE
句で参照されるすべての表および列は、完全修飾されている必要があります。たとえば、次のようにします:owner
.
table_name
andowner
.
table_name
.
column_name