SQL Server触发器自动填充整个列

时间:2019-02-20 16:14:03

标签: sql-server

如果我有一个名为AccuralMonth的表,其中有两列AccuralIDAccuralMonth

和另一个名为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

有什么想法吗?甚至还有一种更好的方法来实现将AccuralMonthEmployees中{{1}}中的所有值设置为某个值的方法,因为我确实意识到这是糟糕的设计。

我正在将这些表用于asp.net MVC Web应用

0 个答案:

没有答案