令牌未知,火鸟计算者

Token Unknown, Firebird Computed By

我在执行以下 DML 时得到了未知数量的令牌,完全不知道为什么 table 定义中前面包含了数量。错误发生在 COMPUTED 列上。

CREATE TABLE LINE_ITEMS(
  LINE_ITEM_ID INTEGER NOT NULL, 
  QTY          NUMERIC(10,4) DEFAULT 0, 
  PRICE        NUMERIC(10,4) DEFAULT 0, 
  AMOUNT       COMPUTED BY QTY * PRICE,     
  CONSTRAINT   PK_LINE_ITEMS PRIMARY KEY(LINE_ITEM_ID)));

您需要将表达式放在括号中:

CREATE TABLE LINE_ITEMS
(
  LINE_ITEM_ID INTEGER NOT NULL, 
  QTY          NUMERIC(10,4) DEFAULT 0, 
  PRICE        NUMERIC(10,4) DEFAULT 0, 
  AMOUNT       COMPUTED BY (QTY * PRICE),     
  CONSTRAINT   PK_LINE_ITEMS PRIMARY KEY(LINE_ITEM_ID)
);