Vous n'êtes pas identifié(e).

#1 14/12/2010 17:05:43

sophonie
Membre

Equivalence de la table DUAL d' Oracle sous PostgreSQL

Bonjour à tous et à toutes,

J'aurai souhaité savoir si sous PostgreSQL il existe une table permettant de stocker par exemple le résultat d'un calcul arithmétique de 2 littéraux.

Oracle dispose d'une table DUAL dans son catalogue système.
En saisissant la requ$ete suivante :

SELECT 365.25 * 24 * 60 * 60 " Secondes dans une annee" FROM dual;

J'obtiens le résultat escompté sans pour autant avoir crée la relation dual.

Merci d'avance,
Sophonie.

Hors ligne

#2 14/12/2010 17:09:29

Marc Cousin
Membre

Re : Equivalence de la table DUAL d' Oracle sous PostgreSQL

Vous avez deux solutions :
- Créer la table DUAL : 'CREATE TABLE dual (dummy varchar(1); INSERT INTO dual VALUES ('X')'. C'est la mauvaise solution smile
- Ne pas mettre de nom de table :

SELECT 365.25 * 24 * 60 * 60 " Secondes dans une annee"
fonctionne tel quel.

DUAL est un contournement, dans Oracle, du au fait qu'il tient absolument à avoir un FROM dans un ordre SQL. Il n'y a pas cette limitation dans PostgreSQL.


Marc.

Hors ligne

#3 14/12/2010 17:14:27

sophonie
Membre

Re : Equivalence de la table DUAL d' Oracle sous PostgreSQL

Merci,
J'adopterai la seconde solution qui est beaucoup plus triviale, et simple.

Sophonie.

Dernière modification par sophonie (14/12/2010 17:14:40)

Hors ligne

Pied de page des forums