requete avec une subquery... [Postgresql] - SQL/NoSQL - Programmation
Marsh Posté le 21-03-2003 à 19:48:34
djtoz a écrit : lu |
select "Host" from hosts where CAST("Hostname"AS text) not in (select CAST("Hostname" AS text) from lock where "Type" = 'Toto';
C'est qu'une idée.
edit : au risque de parraître lourd, t'a bien foutu un index sur les colones "Hostname" dans les tables hosts et lock ? Stocke aussi la procédure.
Marsh Posté le 21-03-2003 à 23:26:41
nraynaud a écrit : |
merci ca marche parfaitement
j'ai pas mis d index, je sais pas a quoi ca sert...
et stocker la procedure, tu peut preciser ?
comme tu as l ai cale en SQL, je me permet de te pose une seconde question alors
comment faire une update d une valeur dans une table et un insert dans une autre table en une seule requete ?
Marsh Posté le 21-03-2003 à 23:28:50
eu nan en fait ca a pas l air de fonctionne la requete la...
il me sort tous les host de la tables hosts, il a rien a foutre de la table lock...
Marsh Posté le 22-03-2003 à 00:26:00
djtoz a écrit : |
on peut pas, mais c'est pas grave.
Il existe la notion de transaction, c'est un ensemble d'actions qui ne sont visibles (aux autres personnes en gros) qu'une fois la transaction terminée.
Pour faire simple :
BEGIN;
ton insert;
ton update;
COMMIT;
si tu oublies le commit, ta transaction ne sera pas visible, c'est lui qui termine.
Si tu changes d'avis en cours de transaction (genre t'es en train de tapper à la main dans une console) tu peux faire ROLLBACK pour l'annuler (toutes les actions).
Pour les indexes et le stockage côté serveur, laisse tomber pour l'instant, tu verras avec le temps (au cours de tes lectures ou des cours).
Marsh Posté le 21-03-2003 à 17:44:11
lu
j essai de faire une requete sql sur postgresql avec une subquery
en gros je voudrai selectionner tous les hosts de la tables hosts dont le Hostname n'apparait pas dans la table lock
j ai essaye ca:
select "Host" from hosts where "Hostname" not in (select "Hostname" from lock where "Type" = 'Toto';
et j obtiens cette erreur:
ERROR: Unable to identify an operator '<>' for types 'character' and 'character varying'
You will have to retype this query using an explicit cast
je pense qu il faudrait mettre le resultat de la subquery entre '', mais j y arrive po...
si quelqu un avais une idee ca serai super
merci d avance pour votre aide.
Message édité par djtoz le 21-03-2003 à 17:44:57