Bonjour j'ai crée une table qui a quatre champ et l'un des champs est sensé avoir comme valeur la somme de deux autres champs de la même table. est - ce possible? si oui comment?
Bonjour j'ai crée une table qui a quatre champ et l'un des champs est sensé avoir comme valeur la somme de deux autres champs de la même table. est - ce possible? si oui comment?
Faire aisément ce qui est difficile aux autres, voilà le talent. Faire ce qui est impossible au talent, voilà le génie.
C'est une erreur de conception !
On ne stocke pas de valeurs calculables, surtout de manière aussi simple qu'une addition.
Au passage, les champs sont à la campagne et dans les formulaires, pas dans les tables SQL qui ne sont composées que de colonnes et de lignes !
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Si on fait du relationel oui, mais si on fait du décisionnel par exemple, on stocke des valeur calculables pour optimiser les scriptes derrières non ??On ne stocke pas de valeurs calculables
Et pour répondre à la question, je pense que c'est possible avec des triggers.... Après comme le dit "CinePhil", revoit plutot ta conception plutot que de te lancer la dedans :p
je reconnais avoir fait une erreur de conception mais c'est tout simplement parce que je ne savais pas comment faire. Merci de m'indiquer la marche à suivre ou plutôt un exemple voir même un tutoriel qui traite du problème
Faire aisément ce qui est difficile aux autres, voilà le talent. Faire ce qui est impossible au talent, voilà le génie.
Mais en décisionnel on crée de nouvelles tables d'analyse alimentées à partir de données de production structurées prises à un instant T. Et ce n'est (potentiellement) intéressant qu'avec de gros volumes de données.
Dans le cas d'aljessy, je pense qu'il voulait insérer des données nouvelles dans une table dont une des colonnes est en fait une colonne calculée à partir de deux autres, ce qui est inutile.
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Pourquoi pensez vous que c'est inutile? Et partant sur la base que c'est inutile est faisable? si oui comment?Dans le cas d'aljessy, je pense qu'il voulait insérer des données nouvelles dans une table dont une des colonnes est en fait une colonne calculée à partir de deux autres, ce qui est inutile.
Faire aisément ce qui est difficile aux autres, voilà le talent. Faire ce qui est impossible au talent, voilà le génie.
C'est inutile parce que cela crée une redondance de données qui complique inutilement les mises à jour. Autant utiliser un tableur !
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Remplacer ma base de données par un tableur? ce ne serait pas possible. Ne pourrait on pas plutôt crée un trigger pour gérer cela?
Faire aisément ce qui est difficile aux autres, voilà le talent. Faire ce qui est impossible au talent, voilà le génie.
Mais pourquoi veux-tu absolument stocker une valeur aussi facilement calculable qu'une addition entre deux colonnes ?
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Tu dois pouvoir faire ce genre de trigger:
Code : 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
20
21
22 USE `test`; DELIMITER $$ DROP TRIGGER IF EXISTS test.toto_trigger_insert$$ CREATE TRIGGER `test`.`toto_trigger_insert` BEFORE INSERT ON `test`.`toto` FOR EACH ROW BEGIN SET New.somme=New.value1+New.value2; END$$ DROP TRIGGER IF EXISTS test.toto_trigger_update$$ CREATE TRIGGER `test`.`toto_trigger_update` BEFORE UPDATE ON `test`.`toto` FOR EACH ROW BEGIN SET New.somme=New.value1+New.value2; END$$ DELIMITER ;
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