From dual - SQL/NoSQL - Programmation
Marsh Posté le 27-06-2005 à 09:39:09
rien. On utilise cette table quand on n'a pas besoin d'en utiliser...
Marsh Posté le 27-06-2005 à 10:07:09
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.
Marsh Posté le 27-06-2005 à 14:27:00
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 :
|
Ensuite, rien n'empêche d'utiliser une autre table, par exemple, une table "LEGUMES" :
Code :
|
=> Ca fait rigoureusement la même chose, sauf qu'on se demande quel est le rapport entre les Choux Fleur et la choucroute...
Marsh Posté le 27-06-2005 à 14:28:21
Sinon, on peut aussi faire :
Code :
|
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
Mais bon, un :
Code :
|
Fera tout à fait l'affaire
Marsh Posté le 27-06-2005 à 14:29:39
Arjuna a écrit : Mais bon, un :
|
Sauf qu'il risque en interne de tout récupérer et de tester à chaque fois si le résultat est nouveau...pas super...
Marsh Posté le 27-06-2005 à 14:31:07
c'est vrai que c'est plus logique de faire un
Code :
|
Marsh Posté le 27-06-2005 à 14:43:01
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... |
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
Marsh Posté le 27-06-2005 à 09:37:49
slt a tous,

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