创建列以在SQL Server中使用rownum不断更新

时间:2016-01-09 01:06:31

标签: sql-server rownum

我在SQL Server数据库中有一个表。它有一列testrownum。我想在表中自动创建行时将testrownum列更新为rownum。

我可以通过任何设置来实现此目的吗?

2 个答案:

答案 0 :(得分:1)

您可以创建触发功能。

触发器是每次从表中插入,更新或删除数据时调用的函数(您可以指定在创建触发器时何时需要调用函数)。所以你可以添加两个触发器,一个用于插入,一个用于删除,只需要增加/减少值。

答案 1 :(得分:1)

使用ROW_NUMBER() function时,最好在SELECT数据时获取行号。

正如其他人指出的那样(评论部分),表格中的数据基本上是无序的。但是,当您按如下方式选择数据时,您可以为某个排序分配行号(假设一个表只有一列name):

SELECT
  name,
  rownr=ROW_NUMBER() OVER(ORDER BY name)
FROM
  name_table