Je veux créer un déclencheur d'insertion qui met à jour les valeurs sur toutes les lignes insérées si elles sont nulles, les nouvelles valeurs doivent être prises à partir d'une autre table, selon une autre colonne dans l'insertion table.SQL Insérer déclencheur pour mettre à jour la table INSERTION valeurs
J'ai essayé:
UPDATE INSERTED
SET TheColumnToBeUpdated =
(
SELECT TheValueCol FROM AnotherTable.ValueCol
WHERE AnotherTable.ValudCol1 = INSERTED.ValueCol1
)
WHERE ValueCol IS NULL
Mais je reçois cette erreur:
Msg 286, Level 16, State 1, Procedure ThisTable_INSERT, Line 15
The logical tables INSERTED and DELETED cannot be updated.
Comment dois-je faire?
Si vous n'allez pas pour encapsuler la logique de gérer cela dans une procédure stockée, une meilleure alternative qu'un déclencheur serait pour utiliser une contrainte par défaut: http://msdn.microsoft.com/en-us/library/aa175912%28SQL.80%29.aspx –
JE SOUHAITE UTILISER DES DÉFAUTS, MAIS COMME VOUS POUVEZ VOIR JE VEUX METTRE À JOUR MON TABLE SELON LES COLONNES DIFFÉRENTES DANS LA RANG INSÉRÉE, QUI N'EST PAS APPLICABLE AVEC LES Poneys @OMG – Shimmy
PAR DÉFAUT: Shimmy ne peut pas utiliser un défaut selon la question: http://stackoverflow.com/questions/1744455 – gbn