|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2005 Messages : 10 ![]() |
Bonjour à tous,
j'ai un souci avec mes tables temporaires, ou plus exactement avec mes transactions. Je m'explique. J'ai un traitement (une procédure stockée) qui est susceptible de générer une exception si un ensemble de données est non-vide. Jusque là tout va bien. Le problème est que mes utilisateurs aimeraient bien "voir" le contenu de cet ensemble de données s'il est non vide. Impossible de le sauver dans une table temporaire, car celle-ci est bien sûr rollbacked au moment où l'exception est déclenchée. J'ai bien sûr la solution de regénérer cet ensemble de données après, mais cela est couteux en temps (gros traitement). Existe-t'il donc un moyen de stocker un ensemble de données de façon non transactionnelle (hors transaction) ? Merci pour votre aide :-) |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Bonjour,
es-tu obligé de faire un rollback dans ta procédure stockée ?
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2005 Messages : 10 ![]() |
euh... oui, je suis obligé. Je suis tributaire de code existant, d'applications clientes existantes, et d'une transaction relativement complexe où bcp de traitements sont faits.
Je ne peux pas recoder toutes ces applications malheureusement :-) |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
La seule solution "simple" que je vois, serait de placer ces enregistrements dans une table temporaire, et de les stocker sur fichier avec un COPY TO. Puis, dans une autre procédure, de les recharger dans une table temporaire avec un COPY FROM.
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2005 Messages : 10 ![]() |
Pour l'instant, c'est la seule "solution" que je vois aussi, car il ne semble pas possible de créer des tables "unlogged" avec PostgreSQL.
Par contre, le COPY FROM et COPY TO ne sont utilisables que par les superusers lorsque ces commandes font référence à des noms de fichiers. Zut alors ! ;-) |
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
...ou alors une fonction d'extension écrite en C.
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com