向Oracle数据库表中添加增量行

eh57zj3b  于 2023-05-16  发布在  Oracle
关注(0)|答案(3)|浏览(186)

我有一个甲骨文数据库,里面有600万条记录。我需要向数据库中添加一个增量列,并将其编号为1到6百万。我确信有一个简单的SQL方法可以做到这一点,或者可能有一种方法可以让数据库为我编号。
有人愿意帮助我这样做,以这样一种方式,一个新手可以弄清楚使用SQL开发?
我尝试了几种方法,但我是新来的,所以我不确定如何进行。一个简单的SQL语句会很有帮助。

lawou6xi

lawou6xi1#

在Oracle 12中,您可以将IDENTITY列添加到表中,数据库将为您生成数字(并将对任何未来的列进行编号)。
例如:
如果你有table:

CREATE TABLE table_name (name) AS
SELECT 'Alice' FROM DUAL UNION ALL
SELECT 'Betty' FROM DUAL UNION ALL
SELECT 'Carol' FROM DUAL UNION ALL
SELECT 'Debra' FROM DUAL UNION ALL
SELECT 'Emily' FROM DUAL;

然后,您可以使用以下命令添加IDENTITY列:

ALTER TABLE table_name ADD id NUMBER GENERATED ALWAYS AS IDENTITY;

该表包含:

SELECT * FROM table_name;
名称ID
爱丽丝1
贝蒂
卡罗尔
黛布拉四个
艾米丽

fiddle

7ajki6be

7ajki6be2#

我假设您已经在一个表中有了该列,不是吗?我们假设它的名字是SEQ。然后你就

update your_table set seq = rownum;

够简单了吧?

wixjitnu

wixjitnu3#

添加incremental_id列:

ALTER TABLE my_table ADD (incremental_id NUMBER);

使用增量值更新列:

UPDATE my_table SET incremental_id = ROWNUM;

将my_table替换为表的名称并在SQL Developer中执行语句。

相关问题