[firebase-br] Fw: Problemas com SP.
Nilcemar P. Ferreira - Lista de Discussão Firebird
firebird em inspell.com.br
Sex Out 15 09:24:59 -03 2004
Se vc usa o FB 1.5, faça o seguinte:
1- Crie uma variavel chamada VSQL, Varchar(100);
2- Substitua o código
DELETE FROM :VNOMETABELA WHERE NUMPESSOA <> 0;
por
VSQL= 'DELETE FROM '|| :VNOMETABELA || 'WHERE NUMPESSOA <> 0';
Depois use o comando EXECUTE STATEMENT VSQL....
Seu código ficará assim:
// Crie a variavel VSQL, Varchar(100);
BEGIN
VNOMETABELA = '';
VCODIGO = 0;
FOR SELECT CODIGO, NOMETABELA
FROM tabelas
ORDER BY PD, CODIGO
INTO :VCODIGO, :VNOMETABELA DO
BEGIN
IF ( :VCODIGO = 0 ) THEN BEGIN
vSQL= 'DELETE FROM ' || :VNOMETABELA || 'WHERE NUMPESSOA <> 0';
END ELSE BEGIN
vSQL= 'DELETE FROM ' || :VNOMETABELA ;
END
EXECUTE STATEMENT vSQL;
END
suspend;
END
No FB 1.5 vc pode criar SQL´s dinâmicos com o comando execute statement.
Muito útil....
Espero ter ajudado.
Nilcemar de Paula Ferreira
Supervisor de TI
Inspell Tecnologia
www.inspell.com.br
email para essa lista: firebird em inspell.com.br
-------------------------------------------------------------------------
----- Original Message -----
From: "Tiago Sartori Costa - YAHOO" <sartori_bra em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, October 15, 2004 9:06 AM
Subject: [firebase-br] Fw: Problemas com SP.
> Por Favor.... Alguém me ajude???????????
>
>
>
> > Boa tarde,
> >
> > Gostaria através de uma variável excutar um comando em SQL dentro de uma
> SP.
> >
> > Ex.:
> >
> > BEGIN
> > VNOMETABELA = '';
> > VCODIGO = 0;
> >
> > FOR SELECT CODIGO, NOMETABELA
> > FROM tabelas
> > ORDER BY PD, CODIGO
> > INTO :VCODIGO, :VNOMETABELA DO
> > BEGIN
> > IF ( :VCODIGO = 0 ) THEN BEGIN
> > DELETE FROM :VNOMETABELA WHERE NUMPESSOA <> 0;
> > END ELSE BEGIN
> > DELETE FROM :VNOMETABELA;
> > END
> > END
> > suspend;
> > END
> >
> > Esta rotina não está funcionando, ocorre erro!!!!..... alguém pode me
> ajudar
> > pro favor????????
> >
> >
> > Tiago.
> >
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
Mais detalhes sobre a lista de discussão lista