2 つのテーブル ( Users
、DeletedUsers
) とトリガーがありUsers_Delete
ます。rowversion
ユーザー レコードが削除されると、ID と最後の値 (削除される前) をDeletedUsers
テーブルに格納したいと考えています。
SQL ではテーブルに同じ型の複数の列を使用できないため、rowversion
テーブルにどのように格納すればよいですか? どのデータ型を使用すればよいですか?LastUserVersion
DeletedUsers
サンプルコード:
CREATE TABLE [dbo].[Users] (
[ID] [uniqueidentifier] NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[Version] [rowversion] NOT NULL
)
CREATE TABLE [dbo].[DeletedUsers] (
[ID] [uniqueidentifier] NOT NULL,
[LastUserVersion] [rowversion] NOT NULL, -- ERROR
[Version] [rowversion] NOT NULL
)
CREATE TRIGGER [dbo].[Users_Delete] ON [dbo].[Users]
AFTER DELETE
AS
BEGIN
SET NOCOUNT ON
INSERT INTO [dbo].[DeletedUsers]
(
ObjectID,
LastUserVersion
)
SELECT
ObjectID,
Version
FROM DELETED
SET NOCOUNT OFF
END