2017-10-12 12 views
0

J'ai une paire de tables au format MASTER TABLE et SECONDARY TABLE dans des bases de données différentes. J'ai un lien qui relie ces bases de données. table secondaire est une table vide et les deux tables ont la même structure. Maintenant, je voudrais insérer toutes les données de la table principale dans un DB à la table secondaire dans un autre DB en utilisant des procédures stockées. Je ne pouvais pas trouver de messages concernant le transfert de données en utilisant différents db. Je suis nouveau à PL/SQL. Quelqu'un pourrait-il m'aider à résoudre ce problème?Procédure stockée pour insérer des données d'une table à une autre dans une base de données différente

Répondre

1

Vous pouvez simplement écrire une requête comme ci-dessous:

INSERT INTO database1.dbo.mastertable(col1,col2,....) 
  SELECT col1, col2,...... FROM database2.dbo.secondarytable; 
+0

requête entre l'instruction begin et end des procédures stockées ryt? – Aby

+0

Oui, utilisez cette requête dans votre SP. –

+0

Cela ne fonctionne pas dans Oracle –

0

Il n'y a pas besoin d'une procédure stockée. Vous pouvez appeler la base de données secondaire par son nom via le lien DB. Le @remotedb fait référence au lien DB que vous avez créé pour autoriser l'accès à la base de données distante.

Modifié pour ajouter PL/SQL proc

+0

Quelle est l'étiquette de code? Et merci! :) –

+0

besoin d'une procédure stockée puisque je dois le faire sur une manière planifiée en temps opportun. – Aby

+0

Ajout d'un wrapper proc mémorisé pour l'appel via un travail –