2016-05-16 14 views
0

は、私は2番目のテーブルにレコードを追加するためのトリガーを作成する必要があります。SQL Server 2008 R2のトリガID列

  • まずテーブル: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

あなたは私を助けることができますか?

tab_valutazioniためid列が「ID」であり、それは自動インクリメントプロパティを持つ主キー..です

おかげ

+0

いただきましエラー? 「 – Stivan

+0

また、決して閉じ括弧の後に、それを開いた後、 '(SELECT'、あなたはGO''がちょうど 'GO' – Stivan

+0

は、私はあなたがドン(** tab_valutazioni.ID''に任意の値を挿入しない推薦であるべき '持ってt)は今ことをやっているように見える、とSQL Serverは自動インクリメントID自体を処理しましょう。その場合、あなたは** 'SET IDENTITY_INSERT TAB_VALUTAZIONI on'の設定は必要ありませんし、あなたのトリガーからそれを削除する必要があります。**また、:**あなたがこの設定をオンにするたびに**テーブルのON ** - あなたがあなたの挿入を完了したら、戻って** OFF **になることを確認してください! –

答えて

0

あなたはこのコードが正常に動作したい場合は、ID列を設定する必要があります。これを見てください。 enter image description here

+0

非常に感謝..私はアイデンティティ列.. – user118258

関連する問題