1

假設我有一個表選項卡(ID,姓名,...) 在刪除觸發器,我可以從臨時表中刪除數據刪除像如何從刪除觸發器中獲取數據?

declare @Name varchar(50) 
select @Name = Name from deleted 

假設我有一個像

在表中的一行
(1, 'MyName), ...) 

然後在SL應用程序中,我使用SubmitChange從WCF ria服務中刪除了從entityset中刪除的實體。但在此之前,我將名稱更改爲「Yourname」。所以代碼如

myinstance.Name="YourName"; 
Context.tabs.Detach(myinstance); 

所以我想在觸發器中獲得值「YourName」。 如何解決此問題。

+0

一個觸發器也可以在'deleted'中得到**多行** - 那麼你的語句是哪一個'select @Name = Name from deleted' select,在這種情況下?目前還不清楚 - **不要**依賴觸發器每行觸發一次 - 在SQL Server中 - 它不是 - 它每次被觸發** **一次**並且觸發器代碼需要能夠處理多個行**在這些僞表! –

回答

0

您在應用程序中所做的更改無關緊要。刪除工作與存儲在數據庫中的信息不在應用程序中。如果您想要在觸發器中獲取新值,則必須先更新記錄,然後執行刪除操作。