簡體   English   中英

刪除SQL Server 2005數據庫中的表記錄並保留已刪除的記錄

[英]deleting table records in SQL server 2005 database and keep the deleted records

我正在使用asp.NET C#,並且在SQL Server 2005數據庫中有一個表。 一旦學生單擊應用程序界面中的特定按鈕,將從會話中獲取的學生ID應該存儲在StudentID屬性中。 我想在特定時間(例如:9:00 AM)自動刪除表記錄。 如果我能夠將這些已刪除的記錄歸檔在某個地方會更好。 我在Google中進行搜索,發現我必須創建一個日志觸發器,但是我不確定這是否是我每天兩次(在兩個小時內)刪除表記錄的最佳解決方案!

實際上,我從未使用過觸發器,但我讀到它曾經以某種方式用於刪除記錄。

有關在SQL Server 2005數據庫中刪除表記錄的任何幫助,將不勝感激。

謝謝。

常規的SQL觸發器應該可以正常工作:

create trigger FooDeleteTrigger on Foo
after delete
as
insert FooArchive (...columns...)
select ...columns...
from deleted

或者,全部合一命令:

delete from Foo
output deleted.col1, deleted.col2, ...
into FooArchive
--where clause as needed, etc

編寫存儲過程以從表中刪除記錄,並在同一SP寫入語句中將刪除的記錄插入存檔表中。 您可以使用delete關鍵字來訪問表中已刪除的行。 現在,完成SP的編寫后,請在該SP上的SQL Server中創建一個作業,並根據您的要求進行調度。

或者,您只能將刪除邏輯放在存儲過程中,然后將插入到歸檔表的邏輯移動到觸發在主表上開發的邏輯。

簽出以供參考: http : //technet.microsoft.com/zh-cn/library/ms177564.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM