我在执行以下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)));
答案 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)
);