根据插入的 ID 自动用值填充行
Automatically fill row with value based on inserted id
我有一个 table,用户可以在其中插入与数据库中其他地方的标题相对应的节点 ID。我希望在用户选择 id 后将此图块自动插入到行中。
这是我的table:
我需要让 "SommerhusNavn" 列自动填充基于插入的 "SommerhusId" 的值。
我正在使用第三方来处理 CRUD 功能,用户可以从下拉列表中选择 ID。我已经知道 ID 的标题位于 table 中,我只是不确定如何使用插入语句填充该行。我需要 运行 单独查询才能实现吗?
编辑:解决方案
CREATE TRIGGER [dbo].[BlokeredePerioderInsert]
ON dbo.BlokeredePerioder
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
UPDATE BlokeredePerioder SET SommerhusNavn = text FROM umbracoNode AS umbNode
where SommerhusId = umbNode.id
END
GO
是的,您需要 运行 额外的 UPDATE
查询。假设您有 TitlesTable
,其中包含列 ID
和 Title
。那么它应该看起来像:
UPDATE MyTable SET SommerhusNavn = Title FROM TitlesTable AS A
WHERE SommerhusId = A.ID
AND SommerhusNavn IS NOT NULL --not necessary
也许我不明白,但为什么你不能在初始更新中使用发送值?
可以在数据库端使用触发器吗?
或者,您需要在插入后发送更新。
我有一个 table,用户可以在其中插入与数据库中其他地方的标题相对应的节点 ID。我希望在用户选择 id 后将此图块自动插入到行中。
这是我的table:
我需要让 "SommerhusNavn" 列自动填充基于插入的 "SommerhusId" 的值。
我正在使用第三方来处理 CRUD 功能,用户可以从下拉列表中选择 ID。我已经知道 ID 的标题位于 table 中,我只是不确定如何使用插入语句填充该行。我需要 运行 单独查询才能实现吗?
编辑:解决方案
CREATE TRIGGER [dbo].[BlokeredePerioderInsert]
ON dbo.BlokeredePerioder
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
UPDATE BlokeredePerioder SET SommerhusNavn = text FROM umbracoNode AS umbNode
where SommerhusId = umbNode.id
END
GO
是的,您需要 运行 额外的 UPDATE
查询。假设您有 TitlesTable
,其中包含列 ID
和 Title
。那么它应该看起来像:
UPDATE MyTable SET SommerhusNavn = Title FROM TitlesTable AS A
WHERE SommerhusId = A.ID
AND SommerhusNavn IS NOT NULL --not necessary
也许我不明白,但为什么你不能在初始更新中使用发送值?
可以在数据库端使用触发器吗?
或者,您需要在插入后发送更新。