VALIDTIME 列と TRANSACTIONTIME 列が存在するテーブルがあります。
CREATE MULTISET TABLE T.TestTable ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO
(
KeyId VARCHAR(50) NOT NULL,
ValidityPeriod PERIOD(TIMESTAMP(6) WITH TIME ZONE),
BusinessTimePeriod PERIOD(TIMESTAMP(6) WITH TIME ZONE) NOT NULL AS VALIDTIME,
TransTimePeriod PERIOD(TIMESTAMP(6) WITH TIME ZONE) NOT NULL AS TRANSACTIONTIME
)
PRIMARY INDEX KeyNUPI ( KeyId );
そして、ビューデータベースには上記のテーブルのビューがあります。
REPLACE VIEW TV.TestView
AS LOCKING ROW FOR ACCESS
NONSEQUENCED VALIDTIME
SELECT
KeyId,
ValidityPeriod,
BusinessTimePeriod,
TransTimePeriod
FROM T.TestTable;
上記のオブジェクトは既に存在しており、それらに触れることはできません。
ここで、上記のビューにビューを作成する必要があります。この新しいものは、後で多くのビューが構築されるテーブルとして機能することになっています。
REPLACE VIEW T.AnotherTestTable
AS NONSEQUENCED VALIDTIME
SELECT
KeyId,
ValidityPeriod,
BusinessTimePeriod,
TransTimePeriod
FROM TV.TestView
WHERE KeyId = 'ABCD';
だから、今のところ問題ありません。これで別のビューを作成しようとすると、表示されますFailure 9330 ValidTime qualifier requires at least one table with ValidTime
REPLACE VIEW TV.AnotherTestView
AS
NONSEQUENCED VALIDTIME --many views with CURRENT VALLIDTIME and other options will also be built
SELECT
KeyId,
ValidityPeriod,
BusinessTimePeriod,
TransTimePeriod
FROM T.AnotherTestTable;
これを解決するための助けに感謝します。