我在CREATE TABLE
语句中定义了以下生成的列:
NET_ROWS_ADDED NUMBER(18) GENERATED ALWAYS AS (ROW_COUNT - PREV_ROW_COUNT) /*STORED*/,
[ROW_COUNT
和PREV_ROW_COUNT
是先前在同一表中定义的简单NUMBER(18)
列。
一切都写得很好。但是,如果取消注释STORED
选项,则会得到:
ORA-00907: missing right parenthesis
我需要将其转换为STORED
生成的列。这里的语法有什么问题?在我看来,这一切都是正确的...
STORED
子句,因此会引发语法错误。始终生成
提供了可选关键字GENERATED ALWAYS,用于语义明晰。它们表明该列未存储在磁盘上,但存储在磁盘上。按需评估。VIRTUAL
为语义提供了可选关键字VIRTUAL清晰。