2016-05-16 163 views
0

我需要创建一个触发器将记录添加到第二个表。SQL Server 2008 R2触发器标识列

  • 第一个表:tab_esami
  • 二表:tab_valutazioni

我创建这个触发器:

CREATE TRIGGER [dbo].[NewTrigger] 
ON [dbo].[tab_esame] 
AFTER INSERT 
AS 
BEGIN 
    /* Trigger action goes here. */ 
    SET IDENTITY_INSERT TAB_VALUTAZIONI ON 

    INSERT INTO tab_valutazioni(tab_utenti_id, nume_colesterolo, 
           nume_hdl, nume_ldl, nume_trigliceridi, 
           nume_glicemia, data_insert) 
     SELECT 
      id_paziente, colesterolo_totale, 
      hdl, ldl, trigliceridi, 
      glicemia, data_esame 
     FROM 
      INSERTED 
END 
GO 

但是,当我尝试插入一条记录tab_esami我得到一个错误:

Error_ON_insert

你能帮我吗?

idtab_valutazioni是“ID”,这是与自动增量性质的主键..

感谢

+0

什么是错误? – Stivan

+0

你也从来没有关闭括号后打开它''后你打开它''GO''应该只是'GO' – Stivan

+0

我会建议**不要**插入任何值到'tab_valutazioni.ID'(你不' t似乎正在这样做),并让SQL Server自己处理自动增量ID,在这种情况下,你不需要** SET IDENTITY_INSERT TAB_VALUTAZIONI ON设置,并且应该从你的触发器中删除它。**还有:**每当你把这个设置**开启**为一张桌子 - 确保如果返回**关闭**一旦你完成你的插入! –

回答

0

如果你想此代码工作正常,你应该设置标识列。看到这个。 enter image description here

+0

非常感谢..我忘了进入身份专栏 – user118258