如果我有一个名为AccuralMonth
的表,其中有两列AccuralID
和AccuralMonth
。
和另一个名为Employee
的表,还有一个名为AccuralMonth
的列。
我想要一个函数,当在AccuralMonth
表的AccuralMonth
列中输入数字时,它会自动填充Employee
表中的所有条目。
我尝试使用触发器,但是没有用。尝试插入值时遇到错误,因为它将主键值设置为null。
Create trigger MergeAccurual on [dbo].[AccuralMonth]
after insert,DELETE,UPDATE
as
begin
MERGE [dbo].[Employee] as E
USING [dbo].[AccuralMonth] AS am
ON E.[accrualmonth] = am.[AccuralMonth]
WHEN MATCHED THEN
UPDATE SET E.[accrualmonth] = am.[AccuralMonth]
WHEN NOT MATCHED BY TARGET THEN
INSERT([accrualmonth]) VALUES(am.[AccuralMonth]);
end
有什么想法吗?甚至还有一种更好的方法来实现将AccuralMonth
中Employees
中{{1}}中的所有值设置为某个值的方法,因为我确实意识到这是糟糕的设计。
我正在将这些表用于asp.net MVC Web应用