更改表将列添加为select语句

Kim*_*aya 1 sql database oracle oracle9i

如何做这样的事......

alter table customer_schedule add (week_number as (TO_CHAR((SCHEDULE_DATE),'iw')) 
Run Code Online (Sandbox Code Playgroud)

其中SCHEDULE_DATE是表中现有的列之一

Lal*_*r B 7

这是您需要VIRTUAL COLUMN的地方.如果你在11g及以上,你当然可以 -

alter table table_name
add (column_name [data_type] [generated always] as (column_expression) [virtual]);

在你的情况下,它会像 -

alter table customer_schedule add (week_number data_type generated always as (TO_CHAR((SCHEDULE_DATE),'iw') VIRTUAL) 

  • 然后你不能使用虚拟列,它是在11gR1中引入的.您需要创建一个触发器. (2认同)