从SQL Server迁移到ORACLE - 如何处理临时表?

时间:2010-01-22 15:51:25

标签: sql-server oracle migration

目前我们使用SQL Server,我们有A LOT(读取大约5.000)不同的脚本,可以在临时表中创建。

现在我们正在迁移到ORACLE,因此我们无法动态创建临时表。

有什么想法吗?

提前致谢

3 个答案:

答案 0 :(得分: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;
/

答案 1 :(得分:0)

哦,小伙子,那是临时表的很多

你看过Oracle's SQL Developer tool了吗?它是免费的,它配备了一个可以帮助您完成旅程的Migration Workbench。

关于临时表,OMWB似乎将从T-SQL语句创建临时表。 Find out more

警告:我自己从未进行过这样的迁移,所以我不保证。但是要使用5000个脚本进行迁移,评估它是值得的。

答案 2 :(得分: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.