创建一个触发器以从一个列更新到另一个数据库列
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;
我正在尝试创建一个触发器以从一个列更新到另一个数据库列,这是我目前所拥有的。它一直在失败。源数据库为 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;