Sql creer une table avec un champ qui calcule une duree

minousha -  
 alexay68 -
Bonjour,
voila j'aimerais creer une table qui aurait un champ qui calcule une durée
mais j y arrive pas
j'ai essayer plein de syntaxe mais on me met toujours un message d'erreur
voici mon dernier essai

create table aa (id varchar2(200), date_debut date , date_fin date , duree as select fin-debut ) ;

si cette option est impossible , j'ai aussi essayer apres avoir creer cette table ci dessous :

create table bb (id1 varchar2(200) , date_debut date , date_fin date , duree number(20) ) ;

(qui est juste)

de faire un insert comme ca :

insert into bb values ('aaa' , '01/01/01' , '05/01/01' , date_fin-date_debut ) ;

mais je tombe encore en erreur :

insert into bb values ('aaa' , '01/01/01' , '05/01/01' , date_fin-date_debut )

ERREUR ? la ligne 1 :
ORA-00984: Un nom de colonne n'est pas autoris? ici



aidez moi :(

A voir également:

1 réponse

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
Je pense que tu ne conçoit pas bien une requète sql, tu peu y entrer une variable mais pas un calcul.
C'est à toi de faire le calcul AVANT, avec une différence de date par exemple, et ensuite d'insérer le résultat dans un Field.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
minousha
 
tu peu donner un exemple
0
alexay68 > minousha
 
normalement quand tu peux calculer un truc, tu dois pas le mettre dans une table ! du fais le calcul au moment où tu as besoin de la donnée (dans ton code)
0