funcão para...

22/03/2003

0

alguem sabe uma forma de eu verificar numa tabela que possui clientes com codigo de 1 até 9999;

nesse intervalo a muito codigo apagados(deletar um cliente) eu queria fazer uma função para me retornar os codigo que estão disponiveis!!


Anonymous

Anonymous

Responder

Posts

22/03/2003

Cristiano

tilize o For i = 1 to 9999, efetuando uma pesquisa a cada valor de i, se a pesquisa não retornar um resultado o código está disponivel.


Espero que tenha compreendido :lol:


Responder

22/03/2003

Eniorm

O que vc quer, alguns ´bancos de dados´ como o dBase tem, chamado Reindexação, ele liberava os códigos não-usados para serem usandos.
Vc pode fazer isso na unha, alterando os códigos.
Exemplo:

cod=1;
Do primeiro ao último registro faça:
tabela_codigo = cod;
cod = cod +1
fim;

Entendeu...!


Responder

22/03/2003

Bilouro

[color=darkblue:7379299d7b][b:7379299d7b][size=18:7379299d7b]GRANDE, VAMOS LÁ[/size:7379299d7b][/b:7379299d7b][/color:7379299d7b]
[b:7379299d7b]1º CRIE UMA TABELA PARA ARMAZENARMOS OS CODIGOS QUE NÃO EXISTEM[/b:7379299d7b]
CREATE TABLE VAZIOS
(
CODIGO INTEGER
)

[b:7379299d7b]2º ESCREVA ESTA ROTINA[/b:7379299d7b]

declare @CONT integer
SELECT @CONT = 1
WHILE(@CONT<=100) [color=orange:7379299d7b]// AKI O Nº DE REGISTROS QUE VC TEM[/color:7379299d7b]
BEGIN
IF ([color=red:7379299d7b][size=18:7379299d7b]NOT EXISTS[/size:7379299d7b][/color:7379299d7b](SELECT CODIGO FROM TEMP1 WHERE CODIGO = @CONT)) // [color=orange:7379299d7b]TEMP1 SERIA A TABELA NO QUAL VC VAI VERIFICAR A EXISTENCIA DO CODIGO E CODIGO SERIA O CAMPO[/color:7379299d7b]
BEGIN
INSERT INTO VAZIOS (CODIGO) VALUES (@CONT) [color=orange:7379299d7b]//AKI VC INSERE NA TABELA VAZIOS OS VALORES QUE VC NÃO TEM NA OUTRA TABELA[/color:7379299d7b]
END
SELECT @CONT = @CONT+1
END[size=12:7379299d7b][/size:7379299d7b]

DAÍ VC TEM UMA TABELA COM OS CODIGOS NÃO USADOS...
OBS. ISSO É UM SCRIPT SQL... VC PODE FAZER ISSO ATRAVÉS DE DELPHI TAMBÉM...

[]´S


Responder

22/03/2003

Bilouro

... WHILE(@CONT<=100) ... []´S



VC DEU O EXEMPLO DE 9999 REGISTROS... É SÓ ALTERAR O VALOR ACIMA PARA 9999

PS.: VA DEMORAR UM POUQUINHO :?


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar