Bonjour
dans firebird 2.xx
j ai une procedure stockee, qui purge des tables
mais ces tables ont des triggers et donc c'est tres long
comment faire en début de procedure pour desactiver ces triggers et les ractiver en fin de la procedure
merci
Bonjour
dans firebird 2.xx
j ai une procedure stockee, qui purge des tables
mais ces tables ont des triggers et donc c'est tres long
comment faire en début de procedure pour desactiver ces triggers et les ractiver en fin de la procedure
merci
Salut
Comme ceci avec un execute statement:
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2EXECUTE STATEMENT 'ALTER TRIGGER TON_TRIGGER INACTIVE';
@+ Claudius
Oui c'est ça ! dans tes PS tu peux construire ton instruction SQL dynamiquement en fonction de tes paramètres en entrée et/ou variables locales.
Voici une procédure permettant de recalculer la selectivité de tous les index
Code proposé par Philippe Makowski sur son blog.
Code PSQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 SET TERM ^; CREATE PROCEDURE SP_CALCSELECTIVITY AS DECLARE VARIABLE IDX VARCHAR(50); DECLARE VARIABLE STMT VARCHAR(75); BEGIN FOR SELECT RDB$INDEX_NAME FROM RDB$INDICES INTO :IDX DO BEGIN STMT = 'SET STATISTICS INDEX ' || :IDX; EXECUTE STATEMENT :STMT; END END ^ SET TERM ;^
@+ Claudius
Les modifications apportées à la structure de la base de données sont enregistrées dans les tables systèmes et leur nombre est limité à 256 fois alors n'oublie pas de faire un backup/restaure avant d'atteindre cette limite.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager