Auto Incremento - SQL SERVER - Tabela Existente

05/05/2010

Boa Tarde   Possuo uma tabela no banco de dados..... que tem o campo codigo...... uma sequencia de campos... exemplo.. campo: 1, 2, 3, 4, 5, etc   preciso inserir os mesmo registro com uma sequencia sde codigo diferente, exemplo:   como fazer isso?   Marcio  

Marcio Santana

Respostas

05/05/2010

Wilson Paulista...!!!

Poderia explicar melhor o seu problema?
Responder Citar

05/05/2010

Marcio Santana

sim.... tenho uma tabela.... com tantos registros... e a numeracao do campo codigo esta assim.. 1 proximo codigo 2 3 4.... assim por diante,,..   estou importando essa tabela.... eu queria que na nova importacao... os codigos nao seguissem do numero 1 em diante,.. mais do 101..depois 102... entendeu?   valeu  
Responder Citar

05/05/2010

Wilson Paulista...!!!

Mas este campo CODIGO é uma FK em outra tabela?
Responder Citar

05/05/2010

Marcio Santana

nao é nao... um campo sem FK sem nada... so queria mesmo incluir ele numa nova tabela... com uma numeracao inicial diferente.... valeu
Responder Citar

06/05/2010

Wilson Paulista...!!!

Crie um campo como IDENTITY (http://msdn.microsoft.com/en-us/library/aa933196%28SQL.80%29.aspx).

Exemplo:

CREATE TABLE NOVA_TABELA
(
ID INTEGER,
Codigo int IDENTITY(100,1),
Nome VARCHAR(50),
)
Veja que "100" é o valor inicial.

Espero ter colaborado.
Responder Citar

06/05/2010

Marcio Santana

Entao.... eu ja tenho uma tabela, como o campo tal.....   dai queria jogar os dados dela numa tabela global....   depois apagar a tabela... origem... e voltar os dados da tabela global... com os mesmos dados, só que iniciando os codigos a partir do zero.... entendeu? Acho que agora consegui explicar o que realmente quero.      -- coloquei os dados na tabela local SELECT * INTO ##GLOBAL
FROM Tabela     -- apaguei ela drop table tabela   agora queria voltar os dados que estao na tabela global, só que iniciando do 100, depois 101, 202,, etc   entendeu? Obrigado
Responder Citar

06/05/2010

Wilson Paulista...!!!

Veja os passos abaixo:

/* Cria a tabela auxiliar */
CREATE TABLE TABELA_AUXILIAR
(
 Codigo  int IDENTITY(100,1), /* para iniciar com o valor 100*/
 Campo1  INTEGER,
 Campo2  INTEGER,
 Campo3  INTEGER,
 CampoX  INTEGER,
)

/* Inclui os dados da tabela principal na tabela auxiliar */
INSERT INTO TABELA_AUXILIAR
   (Campo1, Campo2, Campo3, CampoX)
SELECT Campo1, Campo2, Campo3, CampoX
FROM TABELA_PRINCIPAL

/* Apaga a tabela principal */
DROP TABLE TABELA_PRINCIPAL

/* Cria novamente a tabela principal - Não sei qual a estrutura da sua tabela, só estou dando um exemplo*/
CREATE TABLE TABELA_PRINCIPAL
(
 Codigo  int IDENTITY(1,1),
 Campo1  INTEGER,
 Campo2  INTEGER,
 Campo3  INTEGER,
 CampoX  INTEGER,
)

/* Inclui os dados da tabela auxiliar na tabela principal */
INSERT INTO TABELA_PRINCIPAL
SELECT * FROM TABELA_AUXILIAR

/* Apaga a tabela auxiliar */
DROP TABLE TABELA_AUXILIAR


Espero ter colaborado.
Responder Citar

13/05/2010

Marcio Santana

Valeu deu certinho
Responder Citar