将计算列添加到临时表Oracle

时间:2017-04-26 08:57:57

标签: sql oracle calculated-columns temp-tables

我想将计算列添加到Oracle中的全局临时表。 对于简单的表,请求运行良好。

countryId, en,    es,       fr
1,       spain,  españa,   espagne
2,       france, francia,  france
3,       Italy,  italia,   italie

但对于临时的,它拒绝使用alter table ma_table add ma_column as (column1*column2); 。 有没有办法将新的计算列添加到Oracle中的临时表?

2 个答案:

答案 0 :(得分:2)

我刚刚找到了怎么做, 我添加了带有alter request

的列
alter table ma_table add ma_column [type];

然后创建一个执行插入请求时执行更新请求的脚本

update ma_table set ma_column=(colonne1*colonne2);

答案 1 :(得分:0)

错误信息非常强调。 ORA-54010: expression column is not supported for a temporary table.

  

" alter table ma_table add ma_column;"当" as"请求被拒绝。

AS是创建虚拟列的必要语法。但不是它的行为语法。这个documentation is quite clear

  

"您只能在关系堆表中创建虚拟列。索引组织,外部,对象,集群或临时表不支持虚拟列。"

在这种情况下,平台的限制胜过您的项目要求。