[firebase-br] Loop em SQL
RedDevil
reddevil em reddevil.eti.br
Sáb Nov 19 22:17:09 -03 2005
ola Francisco,
eu conheço duas maneiras de fazer algo semelhante a um "loop" no Firebird para
povoar uma tabela, para popular uma tabela (vamos dar uma força para o
search...;o), e ambas as maneiras sao em SP's (ou Triggers).
digamos que voce tenha uma tabela chamada "hades", com a seguinte estrutura:
create table hades(
codigo integer not null,
nome varchar(50),
constraint pk_hades primary key (codigo)
);
voce pode usar a seguinte SP para povoar essa tabela:
create procedure persephone
as
declare variable wcodigo integer;
declare variable wnome varchar(50);
begin
wcodigo = 1;
while ( :wcodigo <= 100 ) do
begin
wnome = 'registro numero ' || :wcodigo;
insert into hades (codigo, nome) values (:wcodigo, :wnome);
wcodigo = :wcodigo + 1;
end
end
e outra maneira de povoar essa tabela eh ler os registros de outra tabela e
gravar eles na tabela que voce pretende povoar, usando para isso a seguinte SP
(neste exemplo, a tabela "atenas" possui a mesma estrutura da tabela "hades".):
create procedure ares
as
declare variable wcodigo integer;
declare variable wnome varchar(50);
begin
for select atenienses.codigo, atenienses.nome
from atenas atenienses
into :wcodigo, :wnome
do
begin
insert into hades (codigo, nome) values (:wcodigo, :wnome);
end
end
[]s
força sempre!!!
ate +++
--
Luiz "RedDevil" Stefanski - Linux User #399026
http://www.RedDevil.eti.br - Delphi 4 Powered by IBObjects
exemplos e dicas sobre o IBObjects:
http://www.firebase.com.br/cgi-bin/firebase.cgi/dnld?ID=165
compilaçao/instalaçao do IBObjects sabor BPG:
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=630
----- Original Message -----
From: "Francisco Trindade" <frank.trindade em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Saturday, November 19, 2005 6:07 PM
Subject: [firebase-br] Loop em SQL
Pessoal,
to querendo fazer uma rotina para povoar uma tabela, porem nao sei como
implementar uma funcao de loop no Firebird (while,for,etc...)
To usando Firebird 1.5 e IBExpert.
Alguem poderia me dar uma dica?
Sds
--
--
Francisco Trindade
Mais detalhes sobre a lista de discussão lista