funcão para...
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!!
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
Curtidas 0
Respostas
Cristiano
22/03/2003
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:
Espero que tenha compreendido :lol:
GOSTEI 0
Eniorm
22/03/2003
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...!
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...!
GOSTEI 0
Bilouro
22/03/2003
[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
[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
GOSTEI 0
Bilouro
22/03/2003
...
WHILE(@CONT<=100)
...
[]´S
VC DEU O EXEMPLO DE 9999 REGISTROS... É SÓ ALTERAR O VALOR ACIMA PARA 9999
PS.: VA DEMORAR UM POUQUINHO :?
GOSTEI 0