Dimanche 23 novembre 2008 7 23 /11 /Nov /2008 19:10

Bonsoir,


Encore une petite nouveauté ORACLE 11. Avec sa nouvelle version, Oracle a introduit la notion de colonne virtuelle. Un mot savant pour présenter ce qui n'est ni plus ni moins qu'un champs calculé.

D'ailleurs, ceux qui ont eu l'occasion de travailler avec SQL SERVER doivent se dire "Et bien il était temps", car cette fonctionnalité existe au moins depuis SQL SERVER 2000 (j'ai un doute sur SQL7).

Juste pour la forme un petit exemple tout simple. Une table de facture avec un montant HT, le taux de TVA, et partir de la on va pouvoir avoir la TVA et TTC. Et cela bien sur sans passer par un trigger ou un calcul avant insertion



CREATE TABLE Facture

(

NumeroFacture NUMBER,

MontantHT FLOAT,

TVA FLOAT,

MontantTVA AS (MontantHT*TVA/100),

MontantTTC AS (MontantHT+(MontantHT*TVA/100))

);




Remarque 1: Il n'est pas nécessaire d'indiquer un type pour les colonnes virtuelles.


Remarque 2: Il n'est pas possible de créer une colonne virtuelle contenant elle même dans son expression une colonne virtuelle.


Remarque 3: Il est tout a fait possible d'indexer ce type de colonne, et d'utiliser ce type de colonne comme clé de partition.


LAO.


Par LAO - Publié dans : ORACLE 11 - Communauté : ORACLE
Ecrire un commentaire - Voir les 2 commentaires
Retour à l'accueil

Commentaires

Et bien, il était temps !! :) C'est toujours plus facile à déclarer qu'un trigger.
Commentaire n°1 posté par Franck le 25/11/2008 à 10h29
C'est puissant comme fonctionnalité
Commentaire n°2 posté par spurnelle le 10/04/2009 à 11h56

"Puissant" , je ne sais pas , mais en tout cas ca peut être relativement pratique.

LAO.

Réponse de LAO le 10/04/2009 à 12h06

Catégories

Calendrier

Décembre 2014
L M M J V S D
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
<< < > >>

Profil

  • LAO
  • My Oracle blog
  • Homme
  • 06/05/1972
  • DBA
Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés