Articles

Affichage des articles associés au libellé SQL

SQL - Les déclencheurs

Définition : En  programmation procédurale , un déclencheur (trigger en  anglais ) est un dispositif logiciel qui provoque un traitement particulier en fonction d'événements prédéfinis. Par extension, c'est l'événement lui-même qui est qualifié de déclencheur. Déclencheur simple : comment créer un champ auto-incrémente ? Firebird ne dispose pas d’un champ auto-incrémente comme d’autres SGBDR. Cette contrainte peut-être surmonté, par la programmation d’un déclencheur et d’un générateur. Supposons qu’on a la table suivante avec la définition suivante : Create table t1 ( id integer not null, field1 varchar(20) not null ); Pour rendre le champ id auto-incrémentable on a besoin de créer un déclencheur de type BEFORT INSERT qui se charge d’auto-incrémenter la valeur de id à chaque nouvel insertion d’un enregistrement. Mais avant de pouvoir créer le déclencheur on doit créer un générateur afin d’initialiser la valeur de...

SGBDR et langage SQL

Image
Je ne vais pas m'étaler pour expliquer ce qu'est le SQL pour un SGBDR. Je vais plutôt poser un petit problème et donner la solution en utilisant du code SQL. Si par exemple, je veux avoir la liste des factures d'énergie d'une station d'épuration (STEP). Avec un petit code écrit en Delphi, je peux avoir la réponse. Faut tout juste relier la source de données et utiliser les composants adéquats. Mais en compliquant un peu la situation, en disant p.e, remettre la liste des factures d'énergie, les classer par ordre décroissant, et les grouper par structure en mentionnant le nom de la structure dans une seule grille et, en ne retenant que les factures dont le montant est supérieur à la moyenne de toute les factures sur une période définie ! Là je ne sais pas comment arriver à le faire avec Delphi (pas vrai mais avec un code long et complexe) mais en utilisant le SQL cela ne cause, en général, aucun problème. Je vais pas donner la solution de cet exemple, s'éta...