令牌未知,Firebird计算

时间:2017-10-09 17:39:04

标签: sql firebird dml

我在执行以下DML时获得令牌未知的QTY,完全不知道为什么QTY包含在表定义的前面。错误发生在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)));

1 个答案:

答案 0 :(得分:4)

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

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)
);