我使用的是Oracle 11g,和我有很多的使用相同的SELECT语句(而是一个复杂的一个)存储过程的代码,只是在不同的输入where子句:使用表变量/全局临时表实现代码PL/SQL函数
select ... where ancestor = X
这SELECT语句现在被复制/粘贴在数以百计的这些,我需要重构,以便它们使用相同的SELECT语句建设。因为所有这些存储的特效已经存在,重构必须与当前的代码很好地工作,它看起来像这样:
create or replace procedure Foo
begin
select quantity, amount from TBRawData, (select ... where ancestor = X) temp, where TBRAWData.StoreID = temp.StoreID;
end;
概括地说,我需要规范一个SELECT的PL/SQL的手段,而是一个参考游标,数组类型,集合等将不起作用,因为它们不像表格一样处理(因此不能将它们内联到TBRAWData中)。全球临时表会在这里工作吗?还是其他什么东西?
请帮忙!
这正是我需要的。非常感谢!由于过去的性能问题,我有点害怕,所以这是一个很好的解决方案。 – Echiban 2011-02-04 22:51:24