2010-01-22 1 views
1

В настоящее время мы используем SQL Server, и у нас есть A LOT (read around 5.000) разные скрипты, которые создают временные таблицы на лету.Перенос с SQL Server на ORACLE ¿Что делать с временными таблицами?

Теперь мы переходим к ORACLE, поэтому мы не можем создавать временные таблицы на лету.

Любые идеи?

Заранее спасибо

ответ

0

О мальчик, то есть много временных таблиц.

Вы имели в виду Oracle's SQL Developer tool? Это бесплатно, и у него есть Workbench Migration, который может помочь вам в путешествии.

Что касается временных таблиц, представляется, что OMWB создает временные таблицы из операторов T-SQL. Find out more.

Предостережение: Я никогда не совершал такую ​​миграцию, поэтому я не гарантирую ее. Но с 5000 скриптами для миграции это должно стоить вашего времени, чтобы оценить его.

0

Что относительно глобальных временных таблиц Oracle?

CREATE GLOBAL TEMPORARY TABLE my_temp_table (
    column1 NUMBER, 
    column2 NUMBER 
) ON COMMIT DELETE ROWS; -- or use ON COMMIT PRESERVE ROWS to keep data until the end of your session. 
1

Вы, вероятно, хотите, чтобы динамически создавать таблицы со execute immediate всякий раз, когда вам нужна временная таблица:

-- creating the table 
begin 
    execute immediate q'! 
    create table tmp_foo_bar ( 
     col_1 number, 
     col_2 varchar2(50), 
     etc date 
    ) !'; 
end; 
/

-- using the table: 
insert into tmp_foo_bar values (42, 'forty-two', sysdate); 

-- dropping the table: 
begin 
    execute immediate 'drop table tmp_foo_bar'; 
end; 
/