2012-10-17 4 views
2

J'ai un déclencheur sur une table que je ne veux pas déclencher dans des contextes spécifiques.Comment verrouiller une base de données SQLite?

Pour ce faire, je prévois:

  1. verrouillage de la base de données
  2. laissant tomber le déclencheur
  3. effectuer mes opérations
  4. ajouter la gâchette
  5. déverrouiller la base de données

Le verrouillage de la base de données est nécessaire pour que Toutes les opérations que les autres threads tentent d'effectuer s'arrêteront jusqu'à ce que les triggers soient de nouveau en place. Comment puis-je faire cela à partir du code C?

Répondre

2

vos activités professionnelles en a transaction en utilisant le BEGIN TRANSACTION et COMMIT TRANSACTION SQL:

BEGIN TRANSACTION; 
DROP TRIGGER dbname.triggername; 
(do other stuff) 
CREATE TRIGGER ...; 
COMMIT TRANSACTION; 
Questions connexes