Ich muss einen Trigger erstellen, um einen Datensatz in der zweiten Tabelle hinzuzufügen.SQL Server 2008 R2 Auslöser Identitätsspalte
- Erste Tabelle:
tab_esami
- Zweite Tabelle:
tab_valutazioni
Ich schaffe diesen Trigger:
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
Aber wenn ich versuche, einen Datensatz in tab_esami
ich einen Fehler einzufügen:
Können Sie mir helfen?
Die id
Spalte für tab_valutazioni
ist ‚ID‘ und es ist ein Primärschlüssel mit AUTOINCREMENT Eigenschaften ..
Dank
Was ist der Fehler? – Stivan
Schließen Sie auch nie die Klammer nach dem Öffnen nach 'SELECT (' und Sie haben 'GO' sollte nur' GO' sein – Stivan
Ich würde ** nicht ** empfehlen, irgendwelche Werte in 'tab_valutazioni.ID' einzufügen (Sie don ' (t scheint das gerade jetzt zu tun), und SQL Server sollte die Autoinkrement-ID selbst verarbeiten. In diesem Fall brauchen Sie ** die Einstellung SETIDENTITY_INSERT TAB_VALUTAZIONI ON nicht und sollten sie von Ihrem Auslöser entfernen . ** AUCH: ** wann immer du diese Einstellung ** EIN ** für einen Tisch einschaltest - vergewissere dich, dass du zurückdrehst ** OFF ** wenn du deinen Einsatz gemacht hast! –