我有一个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;
感谢您解决此问题的任何帮助。