在 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
我在 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