Sql 如何使用每个插入的行(但每个guid)将CONNER列增加1
为这个笨拙的标题道歉请随意提出改进建议 我有一个表格记录,还有一个用户ID列,它指的是谁做了证词。还有一个计数器列,它是identity(1,1)(请记住,它与作为主键的Id列不同) 当我们开始从不同的账户存款时,问题变得很明显,因为以前,用户可以要求记录号码123到127,得到5个金额,但现在,他们的选择可能是123、125、126甚至更糟——什么都没有 我所能想象的处理它的唯一选项是创建一个业务逻辑层,该层检查用户的最高沉积计数器,并添加新记录,增加一个Sql 如何使用每个插入的行(但每个guid)将CONNER列增加1,sql,sql-server,identity,Sql,Sql Server,Identity,为这个笨拙的标题道歉请随意提出改进建议 我有一个表格记录,还有一个用户ID列,它指的是谁做了证词。还有一个计数器列,它是identity(1,1)(请记住,它与作为主键的Id列不同) 当我们开始从不同的账户存款时,问题变得很明显,因为以前,用户可以要求记录号码123到127,得到5个金额,但现在,他们的选择可能是123、125、126甚至更糟——什么都没有 我所能想象的处理它的唯一选项是创建一个业务逻辑层,该层检查用户的最高沉积计数器,并添加新记录,增加一个 但它肯定会很好,有它自动工作。类似于
但它肯定会很好,有它自动工作。类似于identity(1,1,guid)的东西。有可能吗?要维护这样一个列,您需要一个触发器
您可以考虑在查询表时计算值:
select r.*, row_number() over (partition by guid order by id) as seqnum
from records r;
要维护这样一个列,您需要一个触发器
您可以考虑在查询表时计算值:
select r.*, row_number() over (partition by guid order by id) as seqnum
from records r;
我能想象的唯一的选择就是创建一个企业
为用户检查最高沉积计数器的逻辑层
并在增加1的情况下增加新记录
是学习的时候了
- 将最后给定的数字添加到account表中
- 使用触发器在SQL Server的insert事件中指定更高的数字
- 将最后给定的数字添加到account表中
- 使用触发器在SQL Server的insert事件中指定更高的数字
如果没有,您还可以通过所述触发器维护所有可见GUID的表。“…在插入事件中…”?你是指我的,从我的C#插入东西的事件吗?或者它是一个与触发器类似的SQL术语?我一直害怕触发器,所以是时候增加一对了,呵呵。不,我是说SQL Server触发器。如果您对SQL Server一无所知,则不应对其进行编程。数据库服务器有很多我们学习使用工具的人都知道的功能。其中之一是通过在服务器上运行触发脚本来更改插入的数据。“…在插入事件中…”?你是指我的,从我的C#插入东西的事件吗?或者它是一个与触发器类似的SQL术语?我一直害怕触发器,所以是时候增加一对了,呵呵。不,我是说SQL Server触发器。如果您对SQL Server一无所知,则不应对其进行编程。数据库服务器有很多我们学习使用工具的人都知道的功能。其中之一是通过在服务器上运行触发脚本来更改插入的数据。哦,我现在明白了。我忘了提到我将使用EF查询表,所以在插入行时,数字实际上需要存储在那里+但是,为了一个简洁的陈述,@KonradViltersten。您可以使用视图来计算数字。EF可以访问视图。哦,我现在明白了。我忘了提到我将使用EF查询表,所以在插入行时,数字实际上需要存储在那里+但是,为了一个简洁的陈述,@KonradViltersten。您可以使用视图来计算数字。EF可以访问视图。