2009-12-03 5 views
4

je paires de tables dans le format TABLE et TABLE_TWIN maintenantprocédure stockée pour copier des données d'une table à une autre

  • TABLE est la table principale avec beaucoup de données
  • TABLE_TWIN est une table avec exactement les mêmes champs avec un peu de données (différentes données)

Maintenant, je voudrais copier toutes les lignes de TABLE_TWIN à TABLE en utilisant une procédure stockée. J'ai beaucoup de telles tables et pourrait aimer la procédure stockée pour prendre le (s) nom (s) de table en tant que paramètre (s) afin que je puisse employer la même procédure pour chaque paire de table. Je ne veux pas écrire long INSERT instructions parce que ces tables ont environ 50 attributs chacune.

Je ne suis pas bon avec PL/SQL donc j'ai besoin d'aide ici.

Merci!

Répondre

8

SQL n'est pas si longtemps ... Mais si vous préférez une procédure, voici:

create or replace procedure table_copy(
    p_tab_from varchar2, 
    p_tab_to varchar2) 
is 
begin 
    execute immediate 'insert into '||p_tab_to||' (select * from '||p_tab_from||')'; 
end; 
5
insert into table_twin (select * from table) 

devrait le faire

Questions connexes