You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle SQL:如何用已创建序列填充表列的现有空值?

填充表中现有空列的序列值

操作场景

已完成以下操作:

  • 为table_1表新增column_3列
  • 创建序列sequence_1:
    CREATE SEQUENCE "sequence_1"  
    MINVALUE 1 
    MAXVALUE 9999999999999999999999999999 
    INCREMENT BY 1 
    START WITH 1 
    CACHE 20 
    NOORDER  
    NOCYCLE  
    NOPARTITION
    
  • 为column_3设置默认值为序列的下一个值:
    ALTER TABLE table_1 MODIFY column_3 DEFAULT sequence_1.NEXTVAL
    

空值填充语句

执行以下SQL即可将column_3中的所有空值替换为序列的连续唯一值:

UPDATE table_1
SET column_3 = sequence_1.NEXTVAL
WHERE column_3 IS NULL;

说明

执行该语句后,每一行空值都会被分配一个新的序列值,序列的当前计数会同步递增,后续新增行将自动使用默认值填充序列值。

内容的提问来源于stack exchange,提问作者Stamatis Tiniakos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 14:31:01