Когда пользователь удаляет строку в базе данных, я хочу ее закрепить в отдельной таблице в базе данных, а не удалить ее или пометить в текущей таблице. Я полагаю, что мне нужно сделать что-то, как в этой ссылке:Копирование строки из 1 таблицы в другую в 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
Нет, это не хранимая процедура, это триггер. Вам не нужно вызывать это, оно будет автоматически в базе данных при удалении записи из таблицы. –