Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3122 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  From dual

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

From dual

n°1131872
zizou771
http://mobiles.forumpro.fr
Posté le 27-06-2005 à 09:37:49  profilanswer
 

slt a tous,
 
j'aimerai savoir ce que signifie from dual dans une requete genre:
SELECT sysdate INTO totodebut FROM dual
 
Merci d'avance :)

mood
Publicité
Posté le 27-06-2005 à 09:37:49  profilanswer
 

n°1131873
skeye
Posté le 27-06-2005 à 09:39:09  profilanswer
 

rien. On utilise cette table quand on n'a pas besoin d'en utiliser...[:joce]


---------------
Can't buy what I want because it's free -
n°1131900
denzz
huhuuuuu ! (désolé )
Posté le 27-06-2005 à 10:07:09  profilanswer
 

C'est effectivement une 'contrainte' de certains SGBD dont oracle, qui n'acceptent pas de requêtes SELECT sans clause 'FROM'.
Ici, ton select concerne une colonne 'système', et la table DUAL sert à exprimer le fait que tu ne cherches pas une table de ta base mais une valeur 'système' .
Sous PostgreSql par exemple, DUAL n'existe pas car la clause FROM n'est pas obligatoire.

n°1132303
Arjuna
Aircraft Ident.: F-MBSD
Posté le 27-06-2005 à 14:27:00  profilanswer
 

denzz > en fait, DUAL est vraiment une table.
Seulement, elle a l'avantage d'avoir toujours une et une seule ligne.
 
Ainsi, si on sélectionne une variable système, en passant par DUAL pour trouver les données, alors on n'obtiens cette variable qu'une seule fois.
 

Code :
  1. SELECT * FROM DUAL
  2. Résultat:
  3. DUMMY
  4. -----
  5.     1


 
Ensuite, rien n'empêche d'utiliser une autre table, par exemple, une table "LEGUMES" :
 

Code :
  1. SELECT SYSDATE
  2. FROM LEGUMES
  3. WHERE NOM = 'Choux Fleur'


 
=> Ca fait rigoureusement la même chose, sauf qu'on se demande quel est le rapport entre les Choux Fleur et la choucroute...

n°1132304
Arjuna
Aircraft Ident.: F-MBSD
Posté le 27-06-2005 à 14:28:21  profilanswer
 

Sinon, on peut aussi faire :
 

Code :
  1. SELECT SYSDATE FOM LEGUMES


 
Sauf qu'on va récupérer la date autant de fois qu'il y a de lignes dans LEGUMES, donc c'est moins pratique à utiliser :D
 
Mais bon, un :
 

Code :
  1. SELECT DISTINCT SYSDATE FROM LEGUMES


 
Fera tout à fait l'affaire :pt1cable:

n°1132306
skeye
Posté le 27-06-2005 à 14:29:39  profilanswer
 

Arjuna a écrit :

Mais bon, un :
 

Code :
  1. SELECT DISTINCT SYSDATE FROM LEGUMES


 
Fera tout à fait l'affaire :pt1cable:


 
Sauf qu'il risque en interne de tout récupérer et de tester à chaque fois si le résultat est nouveau...pas super...[:joce]


---------------
Can't buy what I want because it's free -
n°1132308
denzz
huhuuuuu ! (désolé )
Posté le 27-06-2005 à 14:31:07  profilanswer
 

c'est vrai que c'est plus logique de faire un  

Code :
  1. select distinct sysdate from legumes where nomlegume = 'chou' or nomlegume = 'patates'


 
:D

n°1132327
Arjuna
Aircraft Ident.: F-MBSD
Posté le 27-06-2005 à 14:43:01  profilanswer
 

skeye a écrit :

Sauf qu'il risque en interne de tout récupérer et de tester à chaque fois si le résultat est nouveau...pas super...[:joce]


Ha ben oui, mais là où y'a pas de problème, c'est que même si il y a des milliards de lignes dans legumes (on dirait pas comme ça, mais y'a plein de légumes différents), SYSDATE sera unique pour toutes les lignes car il est figé au démarrage de la requête :)
Mais c'est pas pour ça que ça ne mettra pas 3 plombes à rammener une ligne :sol:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  From dual

 

Sujets relatifs
Pb avec EXTRACT(HOUR FROM Date)[SGBD] select * from matable order by @var
equivalent pseudo-table dual sous accessQuestion from a noob : difference entre "->" et "." ?
[C] Compiler un code C (from linux) avec un compiler win[C][Debutant] makes integer from pointer without a cast
Oracle - Metadata sur les tables ( * From Tab, Col )Table définie dans FROM impossible à dupliquer dans EXISTS
[MySQL] comment faire : DELETE FROM table1,table2 WHERE id=2 [résolu][Oracle 9.2] pb de select from dual sur oracle 9.2
Plus de sujets relatifs à : From dual


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)