我为我的应用程序创建了一个触发器,它允许我保留在我的网格中编辑的记录的历史记录。
我收到错误:无效的对象名称'dbo.trgAfterUpdate'。并不确定为什么。
这是我的触发器:
USE [TestTable]
GO
/****** Object: Trigger [dbo].[trgAfterUpdate] Script Date: 2/25/2014 6:31:25 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[trgAfterUpdate] ON [dbo].[summary]
FOR UPDATE
AS
declare @ID int;
declare @CR varchar(50);
declare @Product varchar(50);
declare @Description varchar(MAX);
select @ID=i.ID from inserted i;
select @CR= i.CR from inserted i;
select @Product = i.Product from inserted i;
select @Description=i.Description from inserted i;
if update(Product)
Set @Summary = 'Old value was: ' + (Select Product from deleted) + ' New Value is: ' + (Select Product from inserted)
set @Changes_Made='Updated Record -- After Update Trigger.';
insert into History(ID,Product,Description,Changes_Made,Audit_Timestamp, Summary)
values(@ID,@Product,@Description,@Changes_Made,getdate(), @Summary);
如何解决这个问题的任何帮助都会很棒!
答案 0 :(得分:2)
首先确认该表存在。试试这个:
use [TestTable]
GO
select * from [dbo].[summary]
如果您收到该表不存在的消息,那么您就知道问题所在:)
答案 1 :(得分:1)
这通常意味着两件事之一。
尝试使用数据库名称
喜欢
ALTER TRIGGER [dbName].[dbo].[trgAfterUpdate] ON [dbName].[dbo].[summary]
FOR UPDATE
AS
答案 2 :(得分:0)
我的问题是我没有刷新本地缓存。 所以我
Ctrl + Shift + R
和voilà。