2
如何使用临时表或表变量将SQL Server存储过程迁移到Oracle?
受管理层鼓励的C#开发人员编写SQL Server存储过程时,通常会产生这样的过程 create table #t1 (...); insert into #t1 Select ... from table_a where ...; insert into #t1 Select ... from table_b where ...; update #t1 Set ... = ... where ... Select * from #t1; 单个语句非常简单,这种方法使它们产生正确的结果。 通常,我的任务是将此类过程迁移到Oracle。 让我们面对以下事实。 SQL Server中的不同临时表是完全独立的,可以具有任何临时结构。 Oracle全局公用表是全局对象,并且所有共享表都使用相同的表结构。修改此结构是不可能的,尽管它可以在任何地方使用。 我从Oracle dba中学到的一件事是避免在可能的情况下使用临时表。这样的修改甚至可以提高SQL Server的性能。 用活接头替换单个插件 在最简单的情况下,以上内容可以转换为 select case when …