[PL/pgSQL] Soustraire un interval à un timest
Résolu/Fermé
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
-
20 janv. 2009 à 18:57
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 - 22 janv. 2009 à 23:15
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 - 22 janv. 2009 à 23:15
A voir également:
- [PL/pgSQL] Soustraire un interval à un timest
- Ora-06502: pl/sql : erreur numérique ou erreur sur une valeur: tampon de chaîne de caractères trop petit ✓ - Forum Oracle
- Pioneer pl-j210 - Forum Enceintes / HiFi
- Interval excel - Forum Programmation
- Fichier .pl - Forum Windows
- Pioneer pl-z82 - Forum Enregistrement / Traitement audio
1 réponse
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
2 330
22 janv. 2009 à 17:53
22 janv. 2009 à 17:53
Bon j'ai changé le type de durée_course en type INTERVAL(3).
Le problème c'est que la durée des courses est calculée automatiquement par un trigger. Il faut maintenant que je convertisse (dans le trigger) le résultat du calcul de durée_course en INTERVAL.
Toujours le même problème donc. Avec une valeur "fixe" ça fonctionne :
Sinon il est bel et bien d'accord pour faire un timestamp-interval. Encore faut-il que j'obtienne l'interval ....
Merciche :-)
Le problème c'est que la durée des courses est calculée automatiquement par un trigger. Il faut maintenant que je convertisse (dans le trigger) le résultat du calcul de durée_course en INTERVAL.
Toujours le même problème donc. Avec une valeur "fixe" ça fonctionne :
CREATE FUNCTION calcul_durée() RETURNS trigger AS ' BEGIN UPDATE course SET durée= (SELECT INTERVAL ''5 minutes'') WHERE id_course=old.id_course; RETURN new; END 'LANGUAGE 'plpgsql';Mais dès que je lui fais faire le calcul avec les vraies valeurs ça foire :
CREATE FUNCTION calcul_durée() RETURNS trigger AS ' BEGIN UPDATE course SET durée= (SELECT INTERVAL sum(durée_étape) WHERE ... etc) WHERE id_course=old.id_course; RETURN new; END 'LANGUAGE 'plpgsql';
Sinon il est bel et bien d'accord pour faire un timestamp-interval. Encore faut-il que j'obtienne l'interval ....
Merciche :-)
22 janv. 2009 à 23:15
Ceci fonctionne :
Ceci fait que la somme des "durée_étape" [i.e. un entier] est multipliée par un intervalle, et ça psql sait le faire : le résultat est un intervalle.
;-)