oracle - 在 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 企业版。
解决方案
因为您的DBMS
版本是12c
,所以您可以添加一个现有序列作为约束选项来default
填充not null
初始值,并为即将到来的记录提供新值
alter table mytable
add new_col integer
default seq_odeme.nextval not null;
推荐阅读
- php - WordPress - Ajax 调用时出现 array_merge() 错误
- html - HTML css - 元素宽度超过 100% 宽度
- python - Visual Studio Code 在 Python 终端中的代码之间添加行导致语法错误
- python - QTableView - 如何处理大量 dataChanged 信号?
- php - Pimcore - 分类存储将组添加到对象
- r - 两个数据框之间的重叠列
- mysql - 我尝试同时计算行并获取数据
- botframework - 如何将 Google Speech to Text 功能与 Microsoft Bot Framework Chatbot 一起使用?
- javascript - 如何在 X 轴上显示固定标签,同时在该轴上有数据?
- javascript - 匹配 JavaScript 文件,但不包括 mocha 测试文件