我在SQL Server数据库中有一个表。它有一列testrownum
。我想在表中自动创建行时将testrownum
列更新为rownum。
我可以通过任何设置来实现此目的吗?
答案 0 :(得分:1)
您可以创建触发功能。
触发器是每次从表中插入,更新或删除数据时调用的函数(您可以指定在创建触发器时何时需要调用函数)。所以你可以添加两个触发器,一个用于插入,一个用于删除,只需要增加/减少值。
答案 1 :(得分:1)
使用ROW_NUMBER()
function时,最好在SELECT
数据时获取行号。
正如其他人指出的那样(评论部分),表格中的数据基本上是无序的。但是,当您按如下方式选择数据时,您可以为某个排序分配行号(假设一个表只有一列name
):
SELECT
name,
rownr=ROW_NUMBER() OVER(ORDER BY name)
FROM
name_table