Nzk
Дата: 03.08.2005 12:38:05
Хочу использовать Bind-переменные, но не знаю как поступить в таком случае
declare
vDtrmnt integer;
vId integer;
vSumm number;
vQuery varchar2(512);
TYPE weakCURSOR IS REF CURSOR;
c_Main weakCURSOR;
begin
vDtrmnt:=4;
vId:=5;
vQueryAll:='select sum(summa) From (Select Sum(summa) as summa From A
Where dt=:Dtrmnt and id>:Id union all Select Sum(summa) as summa From B
Where dt=:Dtrmnt)';
//Использую
Open C_Main for vQuery using vDtrmnt,vId,vDtrnt;
// но количество таких union all может быть много и хотелось бы использовать
// что-то типа Open C_Main for vQuery using Dtrmnt => vDtrmnt,id => vId;
Изначально я не знаю сколько будет переменных(все зависит от количества UNION ALL), но знаю какие будут. Если такая возможность в Оракле?
Спасибо
Wolfon Stromboy
Дата: 03.08.2005 12:50:48
То есть у тебя, возможно, будет 100 таблиц (A, B, C, D, E, ...), по которым надо сумму считать?
Если да, то что-то напутано при проектировании структуры БД.