PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 Re : Général » Dupliquer un enregistrement avec un INSERT » 21/07/2011 18:10:31

Bonjour

C'est ce que je soupçonnais.
Merci quand même.

Cordialement
Olivier

#2 Re : Migration » Migration WinDev -> Postgresql 8.4 » 21/07/2011 18:08:43

Bonjour

J'ai utilisé un autre procédé.

Via WinDev, on peut injecter des données Hyper File sans sortir du pro - logiciel.
Il suffit de créer une connexion supplémentaire en natif (si la base PostgreSQL est accessible).

J'étais confronté au même problème.
J'ai parcouru la base HF en utilisant
+ fListeFichier : pour lister chaque fichier
+ HDéclareExterne pour importer un fichier HF (prenez soin de le fermer avec un HFerme et un HAnnuleDéclaration.
// On est jamais trop prudent
+ HListeRubrique pour l'identification des colonnes.

Puis j'ai créé des requêtes - groupées par 200 -, et les envoyées, via SQLExec pour mettre à jour les données de la base PostgreSQL.

Le tout dans un thread ; pensez à mettre une trace.

Olivier

#3 Re : Général » Dupliquer un enregistrement avec un INSERT » 21/07/2011 17:47:11

Bonjour

Je n'avais vu le message intermédiaire.
Mon problème est que j’ai besoin de dupliquer des comptes clients complets : nous avons besoin de retrouver les mêmes informations d’un client sur deux comptes différents.
Les raisons :
+ Le client peut divorcer et nous demande la création d’un nouveau compte.
+ Il déménagement et une autre société prendra donc le suivi de ce nouveau client mais avec son historique.

En dupliquant, on éviterait la ressaisie.
Voilà, en espérant avoir été plus clair.

Cordialement
Olivier DUCTEIL

#4 Re : Général » Dupliquer un enregistrement avec un INSERT » 21/07/2011 17:32:35

Bonjour

et de merci de cette réponse.
L'idée est là, mais cette insertion suppose qu'il faille saisir chaque colonne à modifier.
Je cherche quelque de plus générique, genre :
INSERT INTO table SELECT * FROM table WHERE id = '4'

NB : Je ne comprends bien ce que DEFAULT vient faire dans un SELECT.
Je ne connaisais pas l'expression
INSERT INTO table SELECT DEFAULT FROM table

J'ai cette erreur lorsque je l'utilise :
ERROR:  syntax error at or near "DEFAULT"

req : SELECT DEFAULT FROM table.

Cordialement
Olivier

#5 Général » Dupliquer un enregistrement avec un INSERT » 21/07/2011 17:08:37

Ducteil
Réponses : 8

Bonjour

J’aimerai dupliquer un enregistrement : seule la clef primaire, automatique (séquence), varie.

Pour cette requête, les DEFAULT proviendraient d'une requête.

Je voudrai quelque chose comme:
INSERT INTO table SELECT * //({les colonnes sans la clef qui elle doit être modifiée)
FROM table
WHERE id = {mon id à dupliquer}

Le nom des colonnes variant en fonctions du projet, je cherche une méthode globale sans la ressaisie des colonnes.

J’ai voulu créer une contrainte ou même règle mais je me suis perdu en route.

Est-il possible, en plus, que cette commande modifie la valeur de certaines colonnes ?

Merci d'avance

Olivier

Pied de page des forums

Propulsé par FluxBB