如何在Teradata中使用ROW_NUMBER()更新列?

时间:2016-02-09 10:14:15

标签: sql teradata window-functions

我有这样的桌子

Create table test1(emp_id decimal(5,0), emp_name varchar(20));

Insert into test1(2015,'XYZ');
Insert into test1(2016,'XYZ2');

现在我想将emp_id更新为row_number() 要么 将新列添加到同一个表中,如(emp_no integer)到row_number()。

任何人都可以告诉我这个查询吗?

2 个答案:

答案 0 :(得分:1)

您需要使用UPDATE FROM:

var str = fiscal13Data.Data[this.x].Date; 

顺便说一句,而不是更新表的所有行,它可能更好地INSERT / SELECT或将SELECT合并到一个新表中。如果没有唯一列,则必须执行此操作,如果UPDATE test1 FROM ( SELECT ROW_NUMBER() OVER (ORDER BY emp_id) AS rn, emp_id FROM test1 ) AS src SET emp_id = src.rn WHERE test1.emp_id = src.emp_id -- must be unique column(s) 是您的表格的PI,则(否则表现会非常糟糕)。

答案 1 :(得分:1)

libraryDependencies += "org.mockito" % "mockito-core" % "1.9.5"