我有一个表,其中存在 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;
感谢任何帮助解决这个问题。