[firebase-br] Como gerar um loop "for" dentro de um Stored Procedure?
William
wbbenatti em yahoo.com.br
Sex Jul 22 13:56:08 -03 2005
Tenho uma tabela onde existem os seguintes campos: ID, NOME_IX. Onde: ID é um
valor auto-incremento e NOME_IX é um nome indexado. O indexador do nome varia
de acordo com a entrada de um novo registro. Ex.: Supondo que o nome seja "ABC"
então o indexador irá diferenciar os nomes "ABC" em "ABC1", "ABC2", "ABC3" e
assim por diante, até que mude o nome. Quando mudar o nome, o indexador volta
a "1". Ex.: Eu estava incluindo o nome "ABC" e já estava no "ABC15", daí mudei
o nome para "FFF". Então, a partir do primeiro "FFF" o indexador
reinicia: "FFF1", "FFF2", "FFF3".... até mudar de "FFF" para outro nome
qualquer.
Hoje já tenho esse processo sendo executado via código do Delphi, porém está
lento porque para saber se o nome "FFF7" (por exemplo) já existe, preciso fazer
6 Select na tabela até encontrar o próximo nome indexado disponível.
Gostaria fazer o seguinte: Criar uma Stored Procedure que me retorne o nome
indexado correto. Ex.: Envio um texto como parâmetro para Stored Procedure e
ela me retorna "texto1", "texto2"....
Imagino que seja feito usando um loop "for" ou "while" e atribuindo o resultado
do Select a uma variável. Só que não estou conseguindo entender as sintaxes
usadas pelo FireBird. Também não estou conseguindo entender como ele faz as
atribuições de retono de um Select.
Alguém já fez algo parecido? Tem idéia de como fazer?
Valeu
wbb
Mais detalhes sobre a lista de discussão lista