[SQL] création de table : colonne= 1 somme

Fermé
fraid - 9 juin 2008 à 18:43
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 9 juin 2008 à 21:03
Bonjour,

désolé pour lr titre pas très clair, mais manque d'espace.

Je voulais savoir, est il possible de créer une table sql comme suit :

champ1 int
champ2 int
champ3 int = champ1+champ2

si oui quelle est la syntaxe de la troisieme ligne ??
merci
A voir également:

1 réponse

Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329
9 juin 2008 à 21:03
Bonsoir,
Tu ne peux pas forcer ton sgbd à insérer directement des valeurs calculées dans une colonne. Normalement c'est à toi d'insérer les bonnes valeurs lorsque tu fais un insert, un update ou un delete.

Néanmoins, insérer des champs calculer comme tu souhaites le faire est extrêmement déconseillé, car c'est insérer des données qui ne sont pas nécessaires (elles peuvent être retrouvée grâce aux autres données présentes dans ta base).
De plus, la présence de données calculées peut souvent entrainer des incohérences dans ta base si tu oublies de les mettre à jour lors d'une modification (bon, les triggers peuvent vérifier que c'est bien fait, mais en principe il vaut mieux éviter).

Le mieux reste encore de calculer toi même la somme à l'extérieur de ton sgbd par ton programme. Ca ne te coûte pas beaucoup plus (surtout si c'est juste une somme, la complexité du calcul est négligeable par rapport au coût de la transaction sql).

Cordialement
0