在 SQL 服务器中创建列以不断更新 rownum

Create column to constantly update with rownum in SQL Server

我在 SQL 服务器数据库中有一个 table。它有一列 testrownum。每当在 table 中自动创建行时,我想将 testrownum 列更新为 rownum。

有没有我可以打开的设置来实现此目的?

您可以创建触发器函数。

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

也许最好在 SELECT 数据时使用 ROW_NUMBER() function.

获取行号

正如其他人指出的(评论部分),table 中的数据基本上是无序的。但是,当您 select 数据如下时,您可以为特定顺序分配行号(假设 table 只有一列是 name):

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