Oracle 10gUPDATE语句生成行号
我有一个表有一个复合键,我想用一个单一的键替换。所以我添加了一个id列。现在我需要一个更新语句更新现有数据。
例子:
MyTable(NewID,CMP_Key1,CMP_Key2)
NULL,1,1
NULL,1,2
NULL,2,2
NULL,2,2
需要更新到:
1,1,1
2,1,2
3,2,2
4,2,2
我试过到目前为止:
Update MyTable SET NewID = (SELECT ROWNUM FROM DUAL);
不工作。这将它们设置为1。
Thx。在我的实际情况中,我有一个跟踪序列的表,所以我的实际查询将类似于'UPDATE MyTable SET NewID = ROWNUM +(SELECT Seq FROM Seq_Table WHERE Name ='MyTable');'其中的作品:) – wvdz
为什么你想要一个单独的表来跟踪序列,而不是仅仅使用本地序列?不得不引用并更新该表将使您的插入序列化? –
我正在定制现有的ERP系统。我不确定为什么他们选择了一个单独的表来跟踪序列。 – wvdz