當用戶刪除數據庫中的一行時,我想將其歸檔到數據庫中的單獨表中,而不是將其刪除或在當前表中將其標記。我想我需要在這個環節上做一些事情,如:將一個表中的行復制到另一個SQL中
How to copy a row from one SQL Server table to another
的事情是,存檔表中有1個額外的列不原始表(ArchiveTimeStamp)相匹配。這ArchiveTimeStamp不會在原來的表中,而不是我會使用類似
archiveComm.Parameters.AddWithValue("ArchiveTimeStamp", Date.Time.Now);
這是我到目前爲止有:
SqlCommand archiveComm = new SqlCommand("INSERT INTO Archive_Table SELECT * FROM Table WHERE RowID = @rowID", conn);
有沒有辦法讓我修改的SqlCommand添加另一個參數不存在於原始表中?
這將是一個存儲過程嗎?調用存儲過程實際上很有意義。但是,如果在另一個表(時間戳)中增加一列,SELECT * FROM將無法正常工作? – Kevin
我不是觸發器的粉絲,但這似乎是一個非常好的使用。 – Matthew
不,這不是一個存儲過程,它是一個觸發器。您不必調用它,當您從表中刪除一條記錄時,它將自動在數據庫中。 –