sách gpt4 ai đã đi

sql - 如何将行更新时间和行更新用户添加到表中?

In lại 作者:行者123 更新时间:2023-12-04 14:34:36 25 4
mua khóa gpt4 Nike

我有一个包含创建日期和创建用户字段的表,该表似乎有效。

但是我在创建一个正常运行的行更新日期时间和按字段更新的行时遇到了困难。

我希望这些字段如何工作:当有人更新表中的记录时,chỉ một记录正在更新的记录的日期/时间和用户名。

这是我失败的触发器创建语法,我错误地改编自 Stack Overflow 上的答案:

我应该指出,在这么多其他示例中,我不明白“插入”表格的来源。也不知道为什么它和内部联接有效。

CREATE TRIGGER mkt.Update_tbl_fTesting
ON mkt.tbl_fTesting
FOR UPDATE
BẰNG

BEGIN
SET NOCOUNT ON;

UPDATE mkt.tbl_fTesting
SET RowUpdateDateTime = GetDate()
, RowUpdateBy = coalesce(SUSER_SNAME(), '?')
FROM mkt.tbl_fTesting
INNER JOIN inserted
ON tbl_fTesting.tbl_fTestingIdentity = inserted.ID;
END
GO

执行触发器创建语法的错误是:

Invalid Column Name 'ID'

这是我按预期工作的表创建语法:

USE [ObscuredDatabase]
GO

DROP TABLE [mkt].[tbl_fTesting]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [mkt].[tbl_fTesting](
[tbl_TestingIdentity] [bigint] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[Produce] [nvarchar] (25) NOT NULL,
[Color] [nvarchar] (25) NOT NULL,
[RowCreateDateTime] [datetime] NULL DEFAULT (getdate()),
[RowCreateBy] [nvarchar](max) NULL DEFAULT (coalesce(suser_sname(),'?')),
[RowUpdateDateTime] [datetime] NULL,
[RowUpdateBy] [nvarchar](max) NULL
PRIMARY KEY CLUSTERED
(
[tbl_fTestingIdentity] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [SECONDARY]
) ON [SECONDARY]

GO

1 Câu trả lời

好吧,你的表的主键不叫NHẬN DẠNG,叫tbl_TestingIdentity 所以在插入时你需要使用这个列名。 (inserted.tbl_TestingIdentity)

关于sql - 如何将行更新时间和行更新用户添加到表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43879591/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com