none
Alterar propagação campo identity RRS feed

  • Pergunta

  • Olá pessoal :)

    criei a seguinte tabela:

    CREATE TABLE test.Customer
    (CustomerID              INT                         IDENTITY(1,1),
      LastName                VARCHAR(50)         NOT NULL,
      FirstName                VARCHAR(50)         NOT NULL,  
      CreditLine                MONEY                   SPARCE NULL,
      CreationDate           DATE                      NOT NULL)
    GO

    Agora eu gostaria de mudar a propagação....
    Alguém pode me ajudar?

    Desde já obrigado :)

    quarta-feira, 14 de março de 2012 17:02

Respostas

  • Sounobre boa tarde,

    Acredito que você queria alterar a forma de incremento do IDENTITY certo? Tipo de (1,1) ser de

    (10,2) exemplo; Bom pelo que já estudei e pratiquei não encontrei uma forma ainda que possa alterar a coluna que possui o Identity, sei que é possível fazendo a exclusão da tabela e a recriando com o formato desejado tipo IDENTITY(10,2).

    Atenciosamente,

    Chilipi

    • Marcado como Resposta Sounobre quarta-feira, 14 de março de 2012 19:58
    quarta-feira, 14 de março de 2012 18:51
  • Boa Tarde,

    Não existe uma forma de alterar especificações de Identity via comando. A única forma é providenciar a recriação da tabela. Mesmo via interface gráfica, a tabela será destruída e recriada.

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos:http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível

    • Marcado como Resposta Sounobre quarta-feira, 14 de março de 2012 19:58
    quarta-feira, 14 de março de 2012 19:09
  • Obrigado pessoal :)
    • Marcado como Resposta Sounobre quarta-feira, 14 de março de 2012 19:58
    quarta-feira, 14 de março de 2012 19:57

Todas as Respostas

  • Sounobre boa tarde,

    Acredito que você queria alterar a forma de incremento do IDENTITY certo? Tipo de (1,1) ser de

    (10,2) exemplo; Bom pelo que já estudei e pratiquei não encontrei uma forma ainda que possa alterar a coluna que possui o Identity, sei que é possível fazendo a exclusão da tabela e a recriando com o formato desejado tipo IDENTITY(10,2).

    Atenciosamente,

    Chilipi

    • Marcado como Resposta Sounobre quarta-feira, 14 de março de 2012 19:58
    quarta-feira, 14 de março de 2012 18:51
  • Boa Tarde,

    Não existe uma forma de alterar especificações de Identity via comando. A única forma é providenciar a recriação da tabela. Mesmo via interface gráfica, a tabela será destruída e recriada.

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos:http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível

    • Marcado como Resposta Sounobre quarta-feira, 14 de março de 2012 19:58
    quarta-feira, 14 de março de 2012 19:09
  • Obrigado pessoal :)
    • Marcado como Resposta Sounobre quarta-feira, 14 de março de 2012 19:58
    quarta-feira, 14 de março de 2012 19:57
  • No SQL Server 2008, esta alteracao é possivel sim. Basta executar o seguinte comando:

    DBCC CHECKIDENT ("test.Customer", RESEED, <valor_da_propagacao_desejada>);

    Digamos que eu tenha um registro cuja chave primaria é 1. Se eu fizer um insert sem aplicar as alteracoes, o proximo sera 2. Caso executemos o comando acima, definindo o valor_da_propagacao_desejada como sendo 10, se fizermos um novo insert, pegaria o ultimo valor salvo (2) e somaria com o valor da propagacao (10), resultando em um novo registro de CustomerID = 10+2=12

    • Sugerido como Resposta Renata Cardoso segunda-feira, 7 de maio de 2012 23:31
    domingo, 22 de abril de 2012 02:04
  • No SQL Server 2008, esta alteracao é possivel sim. Basta executar o seguinte comando:

    DBCC CHECKIDENT ("test.Customer", RESEED, <valor_da_propagacao_desejada>);

    Digamos que eu tenha um registro cuja chave primaria é 1. Se eu fizer um insert sem aplicar as alteracoes, o proximo sera 2. Caso executemos o comando acima, definindo o valor_da_propagacao_desejada como sendo 10, se fizermos um novo insert, pegaria o ultimo valor salvo (2) e somaria com o valor da propagacao (10), resultando em um novo registro de CustomerID = 10+2=12

    Deu certo!!! Obrigado


    segunda-feira, 7 de maio de 2012 23:33