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

Oracle中如何修改IDENTITY生成列为普通列(不删除列)

解决Oracle标识列取消自动生成的问题

你遇到的报错是因为GENERATED ALWAYS类型的标识列不允许直接修改为普通列,必须先移除其标识属性。可以通过以下SQL语句解决:

ALTER TABLE table_name MODIFY ID DROP IDENTITY;

执行这条语句后,ID列就不再是自动生成的标识列,变回普通的NUMBER类型,你可以手动插入或更新该列的值。

如果你的Oracle版本存在兼容性问题(注:Oracle 12c及以上版本支持DROP IDENTITY语法),可以分两步操作:

-- 先将生成规则改为允许手动插入值
ALTER TABLE table_name MODIFY ID GENERATED BY DEFAULT;
-- 再修改为普通NUMBER列
ALTER TABLE table_name MODIFY ID NUMBER;

内容的提问来源于stack exchange,提问作者Farrukh Nabiyev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:24:30