【发布时间】:2013-05-16 08:33:42
【问题描述】:
我的同事正在制作ASP.NET Web Forms 应用程序来收集数据。我正在管理它的SQL Server 数据库。基于数据库,他使用Linq to SQL 将对象制作成Web 表单。他希望我在 Osoby 进行记录以更改 dataDodania 与对象的生成日期和 dataModyfikacji 与上次更新日期。有 PL/SQL 方面的经验,我为此做了简单的触发器。问题是,当我很好地在SQL Server Management Studio 2008 中运行 SQL 语句时,触发器工作,但在应用程序中使用时 - 它们被省略,不需要进行更改。下面是触发器的SQL代码:
CREATE TRIGGER [dbo].[DodanieOsoby]
ON [dbo].[Osoby]
INSTEAD OF INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
INSERT INTO Osoby(dataDodania, dataModyfikacji, loginId, rola, imie, imieDrugie, nazwisko, plec, wiek,pESEL,wyksztalcenie,opieka,ulica, nrDom, nrLokal, miejscowosc, obszar, kodPoczty, telefonKontakt, telefonStacjo, email, zatrudnienie, stanowisko, przedsiebiorstwo)
SELECT GETDATE(), GETDATE(), loginId, rola, imie, imieDrugie, nazwisko, plec, wiek, pESEL, wyksztalcenie,opieka,ulica, nrDom, nrLokal, miejscowosc, obszar, kodPoczty, telefonKontakt, telefonStacjo, email, zatrudnienie, stanowisko, przedsiebiorstwo
FROM inserted
END
对于Osoby的更新...
CREATE TRIGGER [dbo].[AktualizacjaOsoby]
ON [dbo].[Osoby]
AFTER UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
UPDATE Osoby
SET dataModyfikacji = GETDATE()
WHERE id in
(SELECT DISTINCT id from Inserted)
END
【问题讨论】:
标签: asp.net sql-server linq-to-sql