当用户删除数据库中的一行时,我想将其归档到数据库中的单独表中,而不是将其删除或在当前表中将其标记。我想我需要在这个环节上做一些事情,如:将一个表中的行复制到另一个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
不,这不是一个存储过程,它是一个触发器。您不必调用它,当您从表中删除一条记录时,它将自动在数据库中。 –