Ajuda com Insert
24/09/2010
0
Adilio Cunha
Posts
27/09/2010
Emerson Nascimento
04/10/2010
Adilio Cunha
05/10/2010
André Pinha
crie uma varial que irá incrementar de 1 até 4000 por exemplo
DECLARE @i INT
depois declare um cursor
DECALRE ccIndice CURSOR for
SELECT Campo1, Campo2,... FROM TABELA
OPEN ccIndice
WHILE (1=1)
BEGIN
FETCH NEXT FROM ccIndice INTO @var1, @var2
IF (@@FETCH_STATUS <> 0) break
END
CLOSE ccIndice
DEALLOCATE ccIndice
05/10/2010
Emerson Nascimento
certo. mas é preciso haver algum meio de ordenar para que seja possível atribuir o valor correto.
vou supor que dá pra ordenar por codigo + descricao.
teste a seguinte instrução para obtenção da numeração:
select
g.codigo codigoatual, g.descricao,
(select count(*) from grupos g2
where g2.codigo + g2.descricao <= g.codigo + g.descricao) codigonovo
from
grupos g
order by
g.codigo, g.descricao
esta instrução deverá trazer a coluna virtual codigonovo com os valores sugeridos para renumeração.
se a coluna estiver com os valores corretos, basta executar a instrução de alteração:
update grupos set codigo = (select count(*) from grupos g2 where g2.codigo + g2.descricao <= grupos.codigo + grupos.descricao)
Clique aqui para fazer login e interagir na Comunidade :)