ALTER TRIGGER [dbo].[TR_O_SALESMAN_INS]
ON [dbo].[O_SALESMAN]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
DECLARE @SLSMAN_CD NVARCHAR(20)
DECLARE @SLSMAN_NAME NVARCHAR(20)
SELECT @SLSMAN_CD = SLSMAN_CD,@SLSMAN_NAME=SLSMAN_NAME
FROM INSERTED
IF NOT EXISTS(SELECT * FROM O_SALESMAN_USER WHERE SLSMAN_CD = @SLSMAN_CD)
BEGIN
INSERT INTO O_SALESMAN_USER(SLSMAN_CD, PASSWORD, USER_CD)
VALUES(@SLSMAN_CD, @SLSMAN_CD,@SLSMAN_NAME)
END
END
Ceci est le déclencheur écrit pour un table(O_SALESMAN)
chercher quelques colonnes de lui et l'insérer dans un autre table(O_SALESMAN_USER)
. Actuellement, les données en bloc sont insérées dans la table O_SALESMAN
via une procédure stockée, alors que le déclencheur est déclenché une seule fois et O_SALESMAN_USER
n'a qu'un seul enregistrement inséré à chaque fois que la procédure stockée est en cours d'exécution, je veux que le déclencheur s'exécute après chaque enregistrement qui est inséré dans O_SALESMAN
de telle sorte que les deux tables doivent avoir le même nombre qui ne se produit pas ... alors s'il vous plaît laissez-moi savoir ce qui peut être modifié dans ce Trigger pour atteindre la même chose ....déclencheur de mise à feu pour vrac insérer
vaudraient peut-être votre préciser si vous voulez dire INSERT VRAC (http: //msdn.mic rosoft.com/en-us/library/ms188365.aspx), où vous devez inclure FIRE_TRIGGERS, ou simplement une INSERT à plusieurs lignes (http://msdn.microsoft.com/fr-fr/library/ms174335.aspx) –