创建一个触发器以从一个列更新到另一个数据库列

Create a trigger to update from one column to another databases column

我正在尝试创建一个触发器以从一个列更新到另一个数据库列,这是我目前所拥有的。它一直在失败。源数据库为 Gamecp、table gamecp_gamepoints,列为 user_points。我想复制到数据库 Billing、table UserStatus、列 cash.

CREATE TRIGGER [dbo].[gamepoints] 
ON [dbo].[gamecp_gamepoints]
AFTER INSERT
AS
BEGIN
    DECLARE @cash int;

    INSERT INTO BILLING.dbo.tbl_UserStatus 
        SELECT * 
        FROM Gamecp.gamecp.gamepoints  

    VALUES (@cash,);

要在 SQL 服务器上使用触发器,您必须了解 Inserted and Deleted pseudo-tables,因为这是您用来检测更改内容的工具。在你的情况下,哪些行是新的。

然后通过添加要插入的列并选择要插入的值来修复您的插入,它应该可以工作。

虽然我怀疑您可能想要插入额外的列?但这没有具体说明。

CREATE TRIGGER [dbo].[gamepoints] 
ON [dbo].[gamecp_gamepoints]
AFTER INSERT
AS
BEGIN
    SET NOCOUNT ON;

    INSERT INTO BILLING.dbo.tbl_UserStatus (cash)
        SELECT user_points
        FROM Inserted;
END;