PLSQL
Fermé
stefy
-
29 oct. 2008 à 09:46
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 - 29 oct. 2008 à 11:01
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 - 29 oct. 2008 à 11:01
7 réponses
SebManfred
Messages postés
484
Date d'inscription
mardi 28 août 2007
Statut
Membre
Dernière intervention
20 mai 2011
128
29 oct. 2008 à 09:53
29 oct. 2008 à 09:53
mauvaise nouvelle pour toi : une procédure stockée, comme son nom l'indique, est stockée dans la base, elle dépend directement de ta base de données.
donc, pour te connecter à 2 bases simultanément par une procédure stockée, c'ést pas gagné
c'est dans ton programme (si il y en a un) qu'il faut faire le travail de connexion
donc, pour te connecter à 2 bases simultanément par une procédure stockée, c'ést pas gagné
c'est dans ton programme (si il y en a un) qu'il faut faire le travail de connexion
merci pour l'info mais je ne comprends pas trop.
Dans mon script je ne peux donc pas me connecter à plusieurs bases ?
Dans mon script je ne peux donc pas me connecter à plusieurs bases ?
SebManfred
Messages postés
484
Date d'inscription
mardi 28 août 2007
Statut
Membre
Dernière intervention
20 mai 2011
128
29 oct. 2008 à 10:02
29 oct. 2008 à 10:02
non, puisque ton script est stocké DANS une base
ton script commence comme ca, non?
CREATE OR REPLACE PROCEDURE MA_PROCEDURE AS
{
// le code
}
ceci veut dire qu'en exécutant ce script, tu vas demander à ta base de données de créer une procédure
d'ailleurs, pour créer cette procédure, tu te places dans un terminal de ta base de données et tu tapes
@FICHIER_SCRIPT.SQL (si tu es sous Oracle du mois)
ce script fera donc partie intégrante de ta base de données et ne pourra pas se partager sur une autre base de données.
par ailleurs, à l'exécution de ton script, et donc à la création de ta procédure stockée, normalement, ton SGBD doit vérifier l'intégrité de ce que tu as écrit et la compatibilité avec la forme de ta base
ton script commence comme ca, non?
CREATE OR REPLACE PROCEDURE MA_PROCEDURE AS
{
// le code
}
ceci veut dire qu'en exécutant ce script, tu vas demander à ta base de données de créer une procédure
d'ailleurs, pour créer cette procédure, tu te places dans un terminal de ta base de données et tu tapes
@FICHIER_SCRIPT.SQL (si tu es sous Oracle du mois)
ce script fera donc partie intégrante de ta base de données et ne pourra pas se partager sur une autre base de données.
par ailleurs, à l'exécution de ton script, et donc à la création de ta procédure stockée, normalement, ton SGBD doit vérifier l'intégrité de ce que tu as écrit et la compatibilité avec la forme de ta base
Oui je comprends plus ou moins mais non mon script ne commence pas comme tu dis.
C'est un ensemble de curseur sur la base1 que je lis et ensuite j'insere dans une table. Le problème étant que dans cette table je dois aussi inserer des données qui viennent d'une autre base mais je ne sais pas comment faire.
C'est un ensemble de curseur sur la base1 que je lis et ensuite j'insere dans une table. Le problème étant que dans cette table je dois aussi inserer des données qui viennent d'une autre base mais je ne sais pas comment faire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sandul
Messages postés
3924
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
721
29 oct. 2008 à 10:33
29 oct. 2008 à 10:33
Salut,
Tu peux très bien utiliser par exemple un database link pour accéder les objets (tables, views etc) de ta deuxième base. Regarde par exemple par ici: https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_5005.htm
++
Tu peux très bien utiliser par exemple un database link pour accéder les objets (tables, views etc) de ta deuxième base. Regarde par exemple par ici: https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_5005.htm
++
sandul
Messages postés
3924
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
721
29 oct. 2008 à 11:01
29 oct. 2008 à 11:01
OK. Le link est spécialement utile si ton script est à passer plus d'une fois. En revanche, si tu dois le passer une seule fois (une opération one-shot) tu peux aussi passer par un import des tables qui t'intéressent de la base2 vers la base1. Par la suite tu passes le script et à la fin tu détruis les tables inutiles importées antérieurement.
++
++