在 SQL Server 中使用 StoredProcedure 保存历史记录

发布于 2024-12-26 13:14:02 字数 167 浏览 0 评论 0原文

在我的网站中,我创建了一个程序(xp_SaveInfo)来为新用户保存信息,如果已经存在,他们可以更新。但现在我们需要知道谁是更新者以及他们更新了什么。为此,我正在创建一个单独的表,该表需要在保存更新数据时使用相同的过程(xp_SaveInfo)进行填充。所以我想比较数据并将其保存到新参数中,并且该参数需要插入到表中。

In my website i have created a procedure (xp_SaveInfo) to save information for new users and if already exist they can update.But now we need to know who are the persons updating and what was they updated. For this i am creating a separate table this table need to fill from using same procedure(xp_SaveInfo) when updating data is saving.So i want to compare and save the data into new parameters and this parameters need to insert into table.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

喜你已久 2025-01-02 13:14:02

使用 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

Using SUSER_SNAME() and GETDATE() functions give to you ability to know who and when running current script now, something like that:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文