Ajout d'un terme dans un champ

Bonjour, 
Je ne suis pas assez calé en sql pour identifier la source du problème. J'essaie d'ajouter un terme dans un champs personnalisé avec cette procédure d'action : 

INSERT INTO notices_custom_values (notices_custom_champ, notices_custom_origine, notices_custom_integer)
SELECT 2, notice_id, !!nouveau!! FROM notices WHERE notice_id IN (CADDIE(NOTI))

Lorsque je lance la procédure tout semble se passer normalement côté pmb (voir copie écran ci-joint) mais en vérifiant le panier, le terme n'est pas ajouté. J'ai vérifié le numéro du champs dans la structure de la base, c'est ok. 

S'agit-il d'un problème sur la procédure ? sur la structure de la base ? 

J'ai réindexé la base et lancé les procédures de maintenance. Pmb me dit que tout est ok. 

Je cale.

Réponses

  • Bonjour,

    Je me permets de relancer cette question car je rencontre le même problème avec les requêtes en ajout d'un champ personnalisable.

    Les spécialistes en requêtes ont-ils une solution ?

    A bientôt
  • Bonjour,

    Voici un modèle de requête qui fonctionne si le numéro identifiant du champ est 2, MAIS..

    INSERT INTO notices_custom_values (notices_custom_champ, notices_custom_origine, notices_custom_integer) VALUES(2, CADDIE(NOTI),!!nouveau!!)

    Pourquoi le 'MAIS" en majuscules en fin de phrase?
    Parce que ce genre de requête est dangereux, la procédure risque de créer des doublons si on l'applique plusieurs fois à la même notice. avec des valeurs différentes
    Or, une distraction est vite arrivée, on peut facilement mettre une notice dans un panier où elle ne devrait pas aller.
    Conséquence possible : la même notice pourrait être à la fois une fiction et un documentaire, ou bien être liée à 2 disciplines aussi différentes que français et mathématiques.
    Et la suppression de ces doublons implique du travail - encore faut-il les repérer !!

    Pas le temps de développer davantage pour le moment ...

    Une petite remarque personnelle pour terminer : je trouve qu'on gère plus facilement les notions de "niveau, discipline, thème .." avec les catégories qu'avec des champs personnalisables.
    Mais cela se discute, bien entendu ;-)
  • Merci je vais tester cela avec les précautions nécessaires.
  • Complément d'info

    J'avais donné un modèle de requête SQL

    INSERT INTO notices_custom_values (notices_custom_champ, notices_custom_origine, notices_custom_integer) VALUES(2, CADDIE(NOTI),!!nouveau!!)

    J'avais oublié de préciser qu'elle ne fonctionne que si le champ personnalisable a l'identifiant n° 2 et qu'on a choisi une liste d'options - avec comme valeur un entier

    J'avais aussi oublié de préciser comment configurer le paramétrer  !!nouveau!!

    Liste de choix à partir d'une requête - cocher obligatoire
    La sous-requête est

    SELECT notices_custom_list_value, notices_custom_list_lib FROM notices_custom_lists WHERE notices_custom_champ='2' ORDER BY notices_custom_list_lib

  • Merci Anne-Marie cette nouvelle version fonctionne parfaitement.
Connectez-vous ou Inscrivez-vous pour répondre.