首页 > 解决方案 > 在 Oracle 中为批处理创建分类变量

问题描述

我想在我的表中创建一个新列,其中前 100,000 行的值为 1,接下来的 100,000 行的值为 2,依此类推。
这是必要的(或者我认为),因为运行 Oracle 的服务器会在 30 分钟后中止所有请求,而且我知道对于我要运行的请求,100,00 条记录是安全的,可以处理。
我查看了 CREATE SEQUENCE ,但这不是我需要的。
到目前为止我得到了什么:

ALTER TABLE mytable ADD (new_colNUMBER(3,0));  
UPDATE SET new_col = ...

我也乐于接受有关如何从不同角度解决此问题的建议。

编辑我的 Oracle 版本是 12c 企业版。

标签: oracleoracle12c

解决方案


因为您的DBMS版本是12c,所以您可以添加一个现有序列作为约束选项来default填充not null初始值,并为即将到来的记录提供新值

alter table mytable 
add new_col integer 
default seq_odeme.nextval not null;

推荐阅读