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