CData Python Connector for QuickBooks Online

Build 20.0.7587

CACHE ステートメント

キャッシュが有効な場合、CACHE ステートメントを使用すると、キャッシュ対象のデータとキャッシュ先のテーブルを制御することができます。CACHE ステートメントでは、指定されたSELECT ステートメントが実行され、その結果がキャッシュデータベース内の同じ名前のテーブルまたは<cached_table_name> で指定されたテーブルにキャッシュされます。本製品 では、キャッシュ内に行が存在すれば更新され、存在しなければ行が挿入されます。このため、選択するカラムには、既存の行の識別に使用される主キーが含まれている必要があります。

さまざまなキャッシュストラテジーについての詳細は、データのキャッシュ を参照してください。

CACHE ステートメント構文

CACHE ステートメントには、その動作を変更する次のオプションを含めることができます。

CACHE [ <cached_table_name> ] [ WITH TRUNCATE | AUTOCOMMIT | SCHEMA ONLY | DROP EXISTING | ALTER SCHEMA ] <select_statement> 

WITH TRUNCATE

WITH TRUNCATE オプションを設定すると、本製品 は選択した行が追加される前に、キャッシュテーブルから既存の行を削除します。このオプションは、キャッシュテーブル全体をリフレッシュし、既存のスキーマは維持する場合に使用します。

AUTOCOMMIT

AUTOCOMMIT オプションを設定すると、本製品 は各行を個別にコミットします。このオプションは、何らかの理由でキャッシュできなかった行を無視する場合に使用します。デフォルトでは、結果セット全体が1つのトランザクションとしてキャッシュされます。

DROP EXISTING

DROP EXISTING オプションを設定すると、本製品 は新しい結果がキャッシュされる前に、既存のキャッシュテーブルを削除します。このオプションは、キャッシュテーブル全体をスキーマを含めてリフレッシュする場合に使用します。

SCHEMA ONLY

SCHEMA ONLY オプションを設定すると、本製品 はキャッシュテーブルをSELECT ステートメントに基づいて作成しますが、クエリは実行されません。

ALTER SCHEMA

ALTER SCHEMA オプションを設定すると、本製品 はキャッシュ内にある既存のテーブルのスキーマがSELECT ステートメントのスキーマと一致しない場合に、そのスキーマを変更します。このオプションを指定すると、キャッシュテーブルとSELECT ステートメントのスキーマが一致しない場合に、新しいカラムが作成されるか、カラムが削除されます。

一般的なクエリ

次のCACHE ステートメントを使用すると、テーブルのすべての行がキャッシュされます。

CACHE SELECT * FROM Customers

次のCACHE ステートメントを使用すると、テーブルのすべての行がキャッシュテーブルCachedCustomers にキャッシュされます。

CACHE CachedCustomers SELECT * FROM Customers

次のCACHE ステートメントを使用すると、インクリメンタルキャッシュが行われます。DateModified カラムは、すべてのテーブルに存在するわけではありません。キャッシュステートメントは、DateModified カラムがある場合に、インクリメンタルキャッシュがどのように実行されるかを示しています。また、この場合、WITH TRUNCATE およびDROP EXISTING オプションは特に除外されているため、既存の行がすべて削除されます。

CACHE CachedCustomers SELECT * FROM Customers WHERE DateModified > '2013-04-04'

次のCACHE ステートメントは、使用可能なカラムをすべて含むテーブルを作成し、その後いくつかのカラムのみをキャッシュする場合に使用します。一連のステートメントでは、キャッシュテーブルCachedCustomers にCustomers 内のカラムがすべて含まれている場合でも、Id とGivenName のみがキャッシュされます。

CACHE CachedCustomers SCHEMA ONLY SELECT * FROM Customers
CACHE CachedCustomers SELECT Id, GivenName FROM Customers

Copyright (c) 2020 CData Software, Inc. - All rights reserved.
Build 20.0.7587