Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server:触发错误客户_Sql_Sql Server_Triggers - Fatal编程技术网

SQL Server:触发错误客户

SQL Server:触发错误客户,sql,sql-server,triggers,Sql,Sql Server,Triggers,不知什么原因,我的扳机坏了。我正在尝试创建一个触发器,每当客户付款时它都会更新 代码如下: Select * from customers Select * from customerAudit CREATE TRIGGER tr_customer_ForUpdate ON customers FOR UPDATE AS BEGIN INSERT INTO customerAudit SELECT 'Customer with ID = ' +

不知什么原因,我的扳机坏了。我正在尝试创建一个触发器,每当客户付款时它都会更新

代码如下:

Select * from customers
Select * from customerAudit

CREATE TRIGGER tr_customer_ForUpdate
ON customers
FOR UPDATE
AS  
BEGIN 
    INSERT INTO customerAudit 
       SELECT
          'Customer with ID = ' + Cast (customersID as NVARCHAR(5)) + ' paid at ' + cast(Getdate() as NVARCHAR(20))
       FROM 
          updated;
END

updated
的对象名无效,
customersID
的列名无效。我非常困惑:(

SQL Server触发器中的伪表被称为
已删除
(对于
更新的旧值)和
插入的
(对于新值,在
更新之后-而不是
已更新的

试试这个:

INSERT INTO customerAudit (ColumnName)
   SELECT
      'Customer with ID = ' + Cast (customersID as NVARCHAR(5)) + ' paid at ' + cast(Getdate() as NVARCHAR(20))
   FROM 
      Inserted;