Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/05/2011, 21h59   #1
Invité régulier
 
Inscription : septembre 2005
Messages : 51
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 51
Points : 6
Points : 6
Par défaut ajout colonne virtuelle dans Oracle 10g

Bonjour,
j'aimerai rajouter une colonne virtuelle dans ma table de 706 378 385 records.
Je ne sais pas comment faire. Ce que j'ai trouvé à date sur le net c'est que la colonne que je veux rajouter dépend des colonnes déjà existantes dans la table comme l'exemple ci-dessous:

Code :
1
2
ALTER TABLE CLIENT ADD UPPER_NAME GENERATED
                    ALWAYS AS (UPPER (NAME) ) VIRTUAL;
la colonne que je veux rajouter viendrait d'une autre table.
J'aimerai savoir si cela est possible. Si j'adapte l'exemple précédent, j'aurais la syntaxe suivante et je me demande si cela est possible. Comme je ne peux rien modifier dans les tables en développement car je n'ai pas les droits, je voudrais d'abord m'assurer que c'est faisable.
merci

Code :
1
2
3
ALTER TABLE CLIENT ADD UPPER_NAME GENERATED
                ALWAYS AS (SELECT UPPER(NEME) FROM TABLE_DES_NOMS
                WHERE  CLIENT.CLE = TABLE_DES_NOMS.CLE) VIRTUAL;
Louisa2005 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 08h52   #2
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 808
Points : 5 808
Non ce n'est pas possible (attention les colonnes virtuelles existent seulement à partir de la version 11)
Citation:
virtual_column_definition
The virtual_column_definition clause lets you create a virtual column. A virtual column is not stored on disk. Rather, the database derives the values in a virtual column on demand by computing a set of expressions or functions. Virtual columns can be used in queries, DML, and DDL statements. They can be indexed, and you can collect statistics on them. Thus, they can be treated much as other columns. Exceptions and restrictions are listed below in "Notes on Virtual Columns" and "Restrictions on Virtual Columns".

•For column, specify the name of the virtual column.

•You can optionally specify the datatype of the virtual column. If you omit datatype, then the database determines the datatype of the column based on the datatype of the underlying expressions. All Oracle scalar datatypes and XMLType are supported.

•The keywords GENERATED ALWAYS are provided for syntactic clarity. They indicate that the column is not stored or disk, but is evaluated on demand.

•The AS column_expr clause determines the content of the column. Refer to "Column Expressions" for more information on column_expr.

•The keyword VIRTUAL is optional and for syntactic clarity.
Mais vous pouvez utiliser une vue.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h45.


 
 
 
 
Partenaires

Hébergement Web