Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Depuis quelques heures déjà, je galère sur une requête qui me renvoie à chaque fois cette erreur:
----
ERREUR: Relate Operation called with a LWGEOMCOLLECTION type. This is unsupported.
HINT: Change argument 1: 'GEOMETRYCOLLECTION(LINESTRING(1651942.75108301 2157948.82656062,1651941.48179...'
----
La requête est:
select * from cad_tmp_ija8pv3iolrb9kl85f8l6g5mm6 where st_within('ma_geometry', wkb_geometry)='t'
J'ai déjà cherché sur ce lien, mais rien y faire.
Please, help me !
Share your knowledge
ok ! Merci bien pour toute ton aide.
share your knowledge
Tu as de très bonnes idées. Par contre, il y a des tables où il me renvoie 0 qui signifie qu'il n'y a aucun enregistrement qui correspond. Ce que je pense faire maintenant, c'est de créer plutôt un procédure ou fonction qui me permet de mettre les valeurs adéquates. Qu'en penses-tu?
J'ai déjà pensé à ta solution, mais il y a plus de 429 tables. Parcourir toutes ces tables !!!!!!! Sachant que je ne sais pas qu'elles sont toutes les tables qui sont à modifiées...
Je vais mourir quoi...
Bonjour,
pendant une migration automatique de MySQL vers PostgreSQL, une "erreur" est survenue: les attributs qui étaient dans MySQL de type DATETIME NOT NULL et ayant pour valeur "0000-00-00 00:00:00" sont passés dans PostgreSQL TIMESTAMP WITHOUT TIME ZONE et sont automatiquement devenus dans tous mes champs "1970-01-01 00:00:00".
Comment pourrai-je y remédier sans toutefois recommencer la migration? J'ai déjà cherché dans pg_attribute, mais je vois le type des mes attributs.
(La leçon est retenue...la prochaine, je ferai un sed pour remplacer et mettre les valeurs adéquates).
Merci bien de me venir en aide.
share you knowledge
ça a marché. Je te remercie bien infiniment bien pour ton aide.
Merci !
Je m'excuse de n'avoir pas tout vérifier quand j'ai fait mon post sur le forum. La requête est ci-bas. Donc d'après ce que tu as dit, si j'ai probablement bien compris, c'est qu'il faut que je mette des INTO sur toutes les colonnes ?
----
CREATE OR REPLACE FUNCTION update_arcligne_update_arret_image_etiquette() RETURNS TRIGGER AS
$BODY$
DECLARE
idNoeud_arret INTEGER;
BEGIN
IF (TG_OP = 'UPDATE' OR TG_OP = 'INSERT') THEN
SELECT rtna.id_noeud_arret INTO idNoeud_arret, rtna.nom, l.id_ligne, l.numero
FROM res_arret rtna
JOIN res_no n ON n.id_noeud = rtna.id_noeud_arret
JOIN arc arc ON arc.id_amont = n.id_noeud OR arc.id_aval = n.id_noeud
JOIN res_ligne rtal ON rtal.id_arc = arc.id_arc
JOIN ligne l ON l.id_ligne = rtal.id_ligne
ORDER BY rtna.id_noeud_arret;
WHERE id_ligne = NEW.id_ligne AND id_arc = idArc;
----
Merci bien !
Bonjour,
j'ai crée une fonction qui est utilisée dans un trigger. J'ai bien déclarée des variables, mais il y a toujours un hic: un problème avec le INTO. J'ai comme l'impression qu'il ne veut pas de ma variable par la requête est pleine de JOIN.
----
CREATE OR REPLACE FUNCTION update_arcligne_update_arret_image_etiquette() RETURNS TRIGGER AS
$BODY$
DECLARE
idNoeud_arret INTEGER;
BEGIN
IF (TG_OP = 'UPDATE' OR TG_OP = 'INSERT') THEN
SELECT id_arret INTO idArret FROM
SELECT rtna.id_noeud_arret INTO idNoeud_arret, rtna.nom, l.id_ligne, l.numero
FROM res_arret rtna
JOIN res_no n ON n.id_noeud = rtna.id_noeud_arret
JOIN arc arc ON arc.id_amont = n.id_noeud OR arc.id_aval = n.id_noeud
JOIN res_ligne rtal ON rtal.id_arc = arc.id_arc
JOIN ligne l ON l.id_ligne = rtal.id_ligne
ORDER BY rtna.id_noeud_arret;
WHERE id_ligne = NEW.id_ligne AND id_arc = idArc;
----
Et l'erreur est la suivante :
ERREUR: « idnoeud_arret » n'est pas une variable connue
LINE 21: SELECT id_noeud_arret INTO idNoeud_arret FROM
Merci de me venir en aide.
Pages : 1