Миграция с SQL Server на ORACLE ¿что делать с временными таблицами? - PullRequest
1 голос
/ 22 января 2010

В настоящее время мы используем SQL Server, и у нас есть МНОГО (читай около 5.000) различных сценариев, которые создают на лету временные таблицы.

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

Есть идеи?

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

Ответы [ 3 ]

1 голос
/ 06 января 2011

Возможно, вы захотите динамически создавать таблицы с 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;
/
0 голосов
/ 03 марта 2010

А как насчет глобальных временных таблиц 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.
0 голосов
/ 22 января 2010

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

Рассматривали ли вы инструмент Oracle для разработчиков SQL ? Это бесплатно и поставляется с Migration Workbench, который может помочь вам в путешествии.

Что касается временных таблиц, то представляется, что OMWB будет создавать временные таблицы из операторов T-SQL. Узнайте больше .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...