Re: [firebase-br] É possível macro substituição em SP?
Andrei Luís
compuvale.software em gmail.com
Qui Maio 18 13:45:36 -03 2006
Surgiu uma nova situação:
Parte da SP:
x = 1;
while (x < 11) do
begin
wSQL = 'Insert into Financeiro
Values(0, :wcliente_id, current_date,
:wdataVen' || Cast(x as Varchar(2)) || ',
:wfatura' || Cast(x as Varchar(2)) || ')';
Execute Statement wSQL;
x = x+1;
end
Até aí OK.
Só que preciso testar se wFaturaX é nulo, e caso contrário não executar o
Execute Statement, aí estou tentando:
if ((:wFatura || Cast(x as VarChar(2)) > 0) then Execute Statement wSQL
Mas ao compilar a SP acusa erro de que não encontrou a variavel wFatura.
Pensei em fazer algo do tipo
if (x=1) and (wFatura1>0) then Execute Statement wSQL;
if (x=2) and (wFatura2>0) then Execute Statement wSQL;
if (x=3) and (wFatura3>0) then Execute Statement wSQL;
...
if (x=10) and (wFatura10>0) then Execute Statement wSQL;
Resolve, mas preciso de 10 linhas na SP para fazer assim, se alguem tiver
uma idéia para reduzir isso, agradeço.
[]
Andrei
2006/5/17, Andrei Luís <compuvale.software em gmail.com>:
>
> Grato pela dica Rubem, pelos testes que fiz montando um sql com Select
> funcionou blz. Agora vou montar a estrutura dos inserts que preciso.
>
> []
> Andrei
>
>
> Em 17/05/06, Rubem Nascimento da Rocha <djpardalrocha em hotmail.com>
> escreveu:
>
> > Se vc usa o FB 1.5, pesquisa sobre o comando EXECUTE STATEMENT. Ele pode
> > ser
> > o que vc precisa.
> > Sds.
> >
> >
> > >From: "Andrei Luís" <compuvale.software em gmail.com>
> > >Reply-To: FireBase <lista em firebase.com.br >
> > >To: Firebase <lista em firebase.com.br>
> > >Subject: [firebase-br] É possível macro substituição em SP?
> > >Date: Wed, 17 May 2006 15:54:54 -0300
> > >
> > >Boa tarde tenho a seguinte SP:
> > >
> > >Select fatura1, fatura2, fatura3,... fatura10,
> > > dataven1, dataven2, dataven3,... dataven10
> > > from pedidos
> > >into :wfatura1, :wfatura2, :wfatura3... :wfatura10,
> > > :wdataven1, :wdataven2, :wdataven3,... :wdataven10
> > >
> > >Preciso fazer uma compração e insert into na tabela financeiro
> > dependendo
> > >do
> > >resultado da comparação para cada variável wFatura*, pensei em fazer
> > macro
> > >substituição tipo:
> > >
> > >x=1
> > >while x<>11 do
> > > begin
> > > if :wFaturaX >0 then
> > > Insert into Financeiro Values(:wfaturaX, :wdatavenX);
> > > x = x+1;
> > > end
> > >
> > >É possível fazer isso com FB? Ou se alguem teria uma dica de como
> > otimizar
> > >essa rotina..
> > >
> > >
> > >[]s
> > >Andrei
> > >
> > >FB 1.5.2
>
>
Mais detalhes sobre a lista de discussão lista