SQL Server创建触发器、函数最大行、更新生效日期和结束日期、分组列

SQL Server创建触发器、函数最大行、更新生效日期和结束日期、分组列,sql,sql-server,function,date,triggers,Sql,Sql Server,Function,Date,Triggers,我希望有人能够在以下方面提供帮助。我正在尝试创建触发器或函数,或者创建触发器和函数的组合,在插入新值时需要插入最大行并更改结束日期 我可以在临时表中手动创建我要查找的内容,但我希望两列“所需版本”和“所需结束日期”能够自动生成。下面是我的手动温度表 -它需要按“供应商”和“类”进行分区 DECLARE@Vendor\u测试表(所需的\u End\u Date DATETIME、Version INT、Status VARCHAR(1)、Vendor VARCHAR(10)、Class VARCH

我希望有人能够在以下方面提供帮助。我正在尝试创建触发器或函数,或者创建触发器和函数的组合,在插入新值时需要插入最大行并更改结束日期

我可以在临时表中手动创建我要查找的内容,但我希望两列“所需版本”和“所需结束日期”能够自动生成。下面是我的手动温度表 -它需要按“供应商”和“类”进行分区

DECLARE@Vendor\u测试表(所需的\u End\u Date DATETIME、Version INT、Status VARCHAR(1)、Vendor VARCHAR(10)、Class VARCHAR(20)、Percent\u 1十进制(19,4)、Percent\u 2十进制(19,4)、Effective\u DATETIME、End\u DATETIME)
插入@Vendor\u Test(所需的\u结束日期、版本、状态、供应商、类别、百分比\u 1、百分比\u 2、生效日期、结束日期)
价值观
(空,1,'A','Vendor 1','Class 1',.2000,.0500,'2020-09-23 19:37:30.813',空)
,(GETDATE(),1,'A','Vendor 1','Class 2',.2000,.0500,'2020-09-23 19:37:30.813',空)
,(NULL,NULL,'A','Vendor 1','Class 2',.2000,.0500,GETDATE(),NULL)
,(空,1,'A','Vendor 1','Class 3',.2000,.0500,'2020-09-23 19:37:30.813',空)
,('2020-08-2509:15:45.001',1,'A','Vendor 1','Class 4',.2000,.0500',2020-08-10 10:00:32.518',空)
,(GETDATE(),NULL,'A','Vendor 1','Class 4',.2000,'0500',2020-08-25 09:15:45.001',NULL)
,(NULL,NULL,'A','Vendor 1','Class 4',.2000,.0500,GETDATE(),NULL)
,(空,1,'A','Vendor 2','Class 1',.2000,.0500,'2020-09-23 19:37:30.813',空)
选择(按vrt.Vendor、vrt.Class ORDER按vrt.Effective\u Date ASC划分)上方的行号()作为“所需版本”、vrt.Version、vrt.Status、vrt.Vendor、vrt.Class、vrt.Percent\u 1、vrt.Percent\u 2、vrt.Effective\u Date、vrt.End\u Date、vrt.Defective\u End\u Date
来自@Vendor_测试作为vrt
我有下表的图像