|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
Bonjour à tous,
Est-il possible de passer le nom d'une table comme paramaitre dans une procedure stockée ? C.à.d : J'ai une vaingtaine de fichies, je teste sur le premier fichier file1 s'il est en utilisation (contient des enreg.), je passe au suivant file2, jusqu'à ce que je trouve le fichier qui est vacant est je passe son nom à ma prosédure stockée... Est-ce possible. ça m'évitera d'utiliser 20 procédures stockées !!!! J'attent une répense avec impatience. Merci d'avance |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Un peu confus....
Tu veux passer une table ou un fichier ?????
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() |
Qi130 a écrit :
Citation:
Après connection d'une base de données, on utilise ses fichiers ou ses tables. Je croix fichier et table sont dans ce cas identiques. Merci. |
|
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Citation:
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
|
00
|
|
|
#5 | |
|
Invité de passage
![]() |
qi130 à écrit :
Citation:
On cherche à résoudre un problème, mais pas d'en chercher d'avantage. Essaye de faire un fort de votre part et comprendre les choses sans donner des critiques gratuites. |
|
|
|
00
|
|
|
#6 | ||||
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Citation:
Citation:
Citation:
Citation:
Des efforts encore: en annonce sur le forum Interbase (en 1ère ligne) ------------------------------------------------- Donc, oui tu peux passer ce qui te chante comme paramètre à un procédure: - une date - un nom de table - le nom de ta base - le fichier contenant ta base (suffixe GDB)
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
||||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() |
Merci qi130 pour tes efforts.
J'utilise la version vree d'interbase. Merci encore. Je pose la question d'une autre façon : Est-ce qu'il y a possibilité de passer le nom d'une table (fichier) comme paramaitre dans une procédure stockée ? Oui ou Nom ? La question est claire et nette. |
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Citation:
Citation:
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
||
|
|
00
|
|
|
#9 | |||
|
Invité de passage
![]() |
Votre répense n'est pas claire.
Et je croix que j'arrive pas à poser ma question d'une façons plus claire. J'ai une base de donnée interbase nomée MyDatabase. Les tables de ctte base de donnée sont : Table1 Table2 Table3 . . . Tablen ma procédure stockée s'écrit comme suit : Code :
Lorsque j'exécute cette procedure en passant par exple : Code :
Execute procedure MA_PROC1(1,'451110', 'Table4') q130 a écrit : Citation:
Et si tu as un exemple de passage de nom d'une table dans un PS ? Et ce que ça dépend de la version d'interbase (moi j'utilise la version free d'interbase). |
|||
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 33 ![]() |
c'est pas possible de passer le nom d'une table comme
paramt dans une PS en IB , les noms de tables doivent etre figés salut est bon courage |
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Oui sous Interbase ce n'est pas possible sous FB1.5 il y a un moyen de le faire.
Sous IB il faut adapter le PS avec des IF Code :
Pourquoi avez vous autant de tables identiques ? Pourquoi n'avez vous pas regroupé dans une seule et même table ce qui est commun à toute ces tables ? Vous n'auriez plus ce problème. |
||
|
|
00
|
|
|
#12 | |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Citation:
C'est une chose de passer un paramètre à une PS, mais c'en est 1 autre que de l'exploiter Mais si le monde était parfait....
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
|
00
|
|
|
#13 |
|
Membre éclairé
![]() Inscription : décembre 2004 Messages : 379 ![]() |
hé ben, cela chauffe... sous interbase ou firebird, il n'y à pas de commande "execute immediate" ou quelque chose d'approchant qui puisse construire une requête à la volée et l'exécuter (en oracle cela existe).
la seule chose qui pourrait rendre cela possible dans l'état actuel serait une udf qui permet la connexion à une autre base de données et donc à la base elle même par l'occasion. |
|
|
00
|
|
|
#14 | |||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Citation:
Et ce moyen c'est justement Execute statement. Code :
|
|||
|
|
00
|
|
|
#15 |
|
Membre éclairé
![]() Inscription : décembre 2004 Messages : 379 ![]() |
hé! merci barbibulle
, je n'avais jamais fait attention à cette commande |
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Ca peut dépanner mais c'est quand même moins performant qu'un select compilé sans compter que du coup de code est moins robuste.
|
|
|
00
|
|
|
#17 |
|
Membre éclairé
![]() Inscription : décembre 2004 Messages : 379 ![]() |
oui, cela est sûr, mais sa règle les problèmes de notre ami et cela m'apporte aussi une solution pour réglé épisodiquemt des problèmes.
tiens, en parlant de cela, est-il possible d'établir dans une procédure stockée une connexion à une autre base, afin de transférer directement les données de l'une vers l'autre? |
|
|
00
|
|
|
#18 | ||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Citation:
Citation:
Et dans certains cas les utilitaires de réplication permettent des transferts conditionnels. |
||
|
|
00
|
|
|
#19 |
|
Membre éclairé
![]() Inscription : décembre 2004 Messages : 379 ![]() |
ok
ouf, cela me rassure... en tout cas, je tiens à te féliciter Barbibulle pour la justesse de tes réponses
|
|
|
00
|
|
|
#20 | ||
|
Membre à l'essai
![]() Inscription : mars 2004 Messages : 33 ![]() |
Bonjour à tous et merci,
je profite cette occasion pour poser mon pb qui se rapproche de c qui a été posé. Alors, j'ai une base de donnée crée sous Firebird 1.5. Je veux passer le nom d'une table comme paramètre dans une procédure stocké. Tous d'accord, qu'avec Intrebase c impossible, mais avec firebird c possible. Bon, j'ai l'essayé avec firebird mais même pb !!!! et voici mon code de la procédure stocké : Code :
on a table sequenceur contenant la liste des nom des tables dans la colonne entite et leurs compteurs d'id. sequenceur (entite varcher(30), compteur integer) Pour chaque nom du table faire : calculer le max des id et l'affecter au variable i. puis mettre à jour le compteur de la table sequenceur pour chaque entite (nom table) parcouru. Je crois que c clair. (espérent bien bien sûr) lors de l'execution tous va bien mais qds je vérifi la colonne compteur de la table sequenceur rien n'a été changé !!! (bien sûr j'ai fait tout les commit) [/code] |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com