0

我有一个表,其中存在 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;

感谢任何帮助解决这个问题。

4

0 回答 0