2010-08-06 3 views
1

Peut-on créer plus que sur trigger sur une seule table? si oui alors comment ils exécutent et quelle idée exactement pour, après déclencheur et quand ils construisent? si non alors pourquoi?trigger dans le serveur sql

+0

Oui, mais cela peut affecter les performances en fonction de ce que vous faites et de la quantité de données que vous déplacez dans la table. –

+0

Vous pouvez définir plusieurs déclencheurs du même type, mais vous n'avez aucun contrôle sur l'ordre dans lequel ils s'exécutent. –

+0

J'évite les déclencheurs à moins que cela ne soit absolument nécessaire. – DForck42

Répondre

1

Vous pouvez certainement créer plus de 1 déclencheur sur une table SQL Server. Si vous ne faites rien, ils s'exécuteront dans l'ordre que le serveur préfère et ce ne sera pas le même ordre à chaque fois.

Vous pouvez forcer une logique de commande de sorte que jusqu'à 3 déclenchements se déclenchent dans l'ordre souhaité. Vous pouvez définir un déclencheur FIRST et LAST. Ce qui vous donne un maximum de 3 déclenchements ordonnés, car celui sans FIRST ou LAST défini se déclenchera au milieu. Vous pouvez également effectuer un déclencheur Mettre à jour/Insérer/Supprimer un remplacement ou un déclencheur qui a lieu après l'événement à la place du mot clé AFTER. Checkout ces articles pour plus d'informations et le code exact:

Enfin, déclenche en général ralentir votre base de données. Cela est particulièrement vrai pour SQL Server où ils sont considérés comme un grand tueur de vitesse. En général, les déclencheurs doivent être utilisés aussi parcimonieusement que possible.