Ajuda com SQL
Criei um campo integer em uma tabela, e gostaria de numera-lo a partir de 1 ate o fim dos registros, mas isso com uma instrucao SQL, alguem saberia como fazer ?
Abs
Felipe Ip
Curtidas 0
Respostas
Ricardo Araujo
29/12/2010
Boa tarde,
você esta trabalhando com qual Banco de Dados?
vou passar para você um código usando sql.
exemplo :
// este codigo vc pegar o último número da tabela. SQLQuery1.Close; SQLQuery1.SQLConnection := SQLConnectio1; SQLQuery1.SQL.Add('select max(codigo) from tbcodigo'); SQLQuery1.Open;
com isto você pode trabalhar com o último número que a SQLQuery1 pegou espero ter ajudado.
rbbarretorbbarreto@hotmail.com
você esta trabalhando com qual Banco de Dados?
vou passar para você um código usando sql.
exemplo :
// este codigo vc pegar o último número da tabela. SQLQuery1.Close; SQLQuery1.SQLConnection := SQLConnectio1; SQLQuery1.SQL.Add('select max(codigo) from tbcodigo'); SQLQuery1.Open;
com isto você pode trabalhar com o último número que a SQLQuery1 pegou espero ter ajudado.
rbbarretorbbarreto@hotmail.com
GOSTEI 0
Felipe Ip
29/12/2010
Desculpe talvez nao tenha explicado corretamente, criei um campo integer em uma tabela, nesta tabela tem muitos registros, e preciso numerar esses registros exatamente usando esse novo campo, gostaria de fazer isso atraves de uma instrucao sql diretamente no ibexpert por exemplo, uso o FB 2.0.
Abs e obrigado
GOSTEI 0
Leandro
29/12/2010
Se ja existe registros nessa tabela e vc quer colocar valor pra esse campo vc pode fazer um generator temporario para alimentar esse campos com a sequencia 1....
se fosse no postgres seria assim
update set campo = nexval('sequenciaTemporaria')
no firebird eu nao me recordo o comando
update set campo = GEN_ID('NomeDoGenerator', Incremento )
se fosse no postgres seria assim
update set campo = nexval('sequenciaTemporaria')
no firebird eu nao me recordo o comando
update set campo = GEN_ID('NomeDoGenerator', Incremento )
GOSTEI 0
Alan Souza
29/12/2010
se o seu campo não tiver restrições de chave única (PK ou UK), vc pode usar as seguintes sentenças:
update tabela set campo = 0; //é necessário que o campo não esteja nulo, ou senão vc pode usar o coalesce.
update tabela set campo = (select max(campo) + 1 from tabela); //pode ser usado o order by para ordenação por outro campo qualquer, como nome
update tabela set campo = 0; //é necessário que o campo não esteja nulo, ou senão vc pode usar o coalesce.
update tabela set campo = (select max(campo) + 1 from tabela); //pode ser usado o order by para ordenação por outro campo qualquer, como nome
GOSTEI 0
Alan Souza
29/12/2010
se o seu campo não tiver restrições de chave única (PK ou UK), vc pode usar as seguintes sentenças:
update tabela set campo = 0; //é necessário que o campo não esteja nulo, ou senão vc pode usar o coalesce.
update tabela set campo = (select max(campo) + 1 from tabela); //pode ser usado o order by para ordenação por outro campo qualquer, como nome
update tabela set campo = 0; //é necessário que o campo não esteja nulo, ou senão vc pode usar o coalesce.
update tabela set campo = (select max(campo) + 1 from tabela); //pode ser usado o order by para ordenação por outro campo qualquer, como nome
GOSTEI 0