1
在我的网站上,我创建了一个保存新用户信息的过程(xp_SaveInfo),如果已经存在,他们可以更新。但现在我们需要知道谁是谁更新以及什么是他们更新了。为此,我创建了一个单独的表,此表需要在更新数据时使用相同的过程(xp_SaveInfo)进行填充。因此,我想比较并将数据保存到新参数中,并且此参数需要插入到表中。在SQL Server中使用StoredProcedure保存历史记录
在我的网站上,我创建了一个保存新用户信息的过程(xp_SaveInfo),如果已经存在,他们可以更新。但现在我们需要知道谁是谁更新以及什么是他们更新了。为此,我创建了一个单独的表,此表需要在更新数据时使用相同的过程(xp_SaveInfo)进行填充。因此,我想比较并将数据保存到新参数中,并且此参数需要插入到表中。在SQL Server中使用StoredProcedure保存历史记录
使用SUSER_SNAME()和GETDATE()功能给你知道谁的能力和现在正在运行当前脚本,这样的事情时:
CREATE TABLE LogTable(When datetime, Who nvarchar(100), What nvarchar(max))
GO
UPDATE YourTable SET
DataField = @Parameter
OUTPUT GETDATE(), SUSER_SNAME(), @Parameter, INSERTED.[OtherFieldsYouWantFromTable] INTO LogTable
WHERE DataField <> @parameter
感谢奥列格,但我想更新的数据存储到一个separete表 – 2012-01-12 12:22:05
那究竟它是什么 - 你看到 - 我创建全新的表LogTable并写入它 – 2012-01-12 12:24:27
我需要修改的数据保存到一个tabel,同时保存此更新的数据保存在我的Logtable中,为此我们需要比较,如果@parameters包含修改的数据或不if真正需要将其保存到LogTable中。 – 2012-01-12 12:32:20