2014-11-13 6 views
1

У меня есть пары таблиц tbl и tbl_backupКак переместить/копировать данные из одной таблицы в другую с помощью хранимой процедуры в оракула

Now «ТПС» является основной таблицы с большим количеством данных «tbl_backup» представляет собой таблицу с теми же полями Теперь я хотел бы скопировать все строки из 'tbl' в 'tbl_backup' с помощью хранимой процедуры. Я бы хотел сделать то же самое со многими такими таблицами, и поэтому я хотел бы использовать хранимую процедуру.

Я плохо разбираюсь в PL/SQL, поэтому мне нужна помощь здесь.

Спасибо!

+0

Если вам нужно сделать резервную копию этих таблиц, используйте утилиту экспорта данных насоса ('expdp'). Основываясь на предоставленной вами информации, я не вижу причин для реализации стратегии резервного копирования и восстановления таким образом, особенно с использованием PL/SQL. Используйте соответствующие инструменты: 'expdp/impdp',' rman'. Если вам нужно восстановить данные относительно быстро, увеличьте значение параметра 'undo_retention' и используйте' flashback query'. –

ответ

0
create or replace procedure backup_table 
    (i_source_table in varchar2 
    , i_target_table in varchar2) 
    authid current_user 
is 
begin 
    execute immediate ' 
     insert --+ append 
      into '||sys.dbms_assert.enquote_name(sys.dbms_assert.sql_object_name(i_target_table))||' 
     select * 
     from '||sys.dbms_assert.enquote_name(sys.dbms_assert.sql_object_name(i_source_table)) 
    ; 
end; 
+0

. Еще один ответ на эту проблему можно найти здесь: http://stackoverflow.com/questions/1842672/stored-procedure-for-copying-data-from-one-table-to-another?answertab=votes#tab-top –

Смежные вопросы