Array
(
)

CAMPO IDENTITY

Rodrigo-moraes
   - 28 mar 2014

Ola ,
estou com um problema criei duas tabelas cada uma com campo identity e em
ambas ocorreu uma lacuna tipo pulou da sequencia 10 pra 1000
alguém sabe q pode ter ocorrido.

Alex Lekao
   - 29 mar 2014

Estranho,

vc conferiu na estrutura do campo para ver se nao houve algum tipo de mudanca no incremento do campo?

depois que pulo para esse mil ele continuou na sequencia normal que deveria?

Rodrigo-moraes
   - 29 mar 2014


Citação:
Estranho,

vc conferiu na estrutura do campo para ver se nao houve algum tipo de mudanca no incremento do campo?

depois que pulo para esse mil ele continuou na sequencia normal que deveria?


Sim depois continuou a sequencia normalmente.

duas possibilidade que eu acho que pode ter ocorrido

na criação da tabela coloquei da seguinte forma
id_campo integer identity primary key

tipo acho que deveria ter colocado assim:
id_campo integer identity(1,1) primary key

a outra possibilidade é o fato que fiz algumas inserções sem controle transacional...

não sei se algo pode ter influenciado....

Jefferson Santos
   - 30 mar 2014


Citação:

Citação:
Estranho,

vc conferiu na estrutura do campo para ver se nao houve algum tipo de mudanca no incremento do campo?

depois que pulo para esse mil ele continuou na sequencia normal que deveria?


Sim depois continuou a sequencia normalmente.

duas possibilidade que eu acho que pode ter ocorrido

na criação da tabela coloquei da seguinte forma
id_campo integer identity primary key

tipo acho que deveria ter colocado assim:
id_campo integer identity(1,1) primary key

a outra possibilidade é o fato que fiz algumas inserções sem controle transacional...

não sei se algo pode ter influenciado....


A sintax correta para criação de um campo Identity é:
Nome do campo Tipo do campo identity(parametro de sequencia),
ex:
ID smallint identity(100,1)

Quando se faz um insert na tabela onde é retornado erro e os valores não são gravados isso faz com que aquela sequencia pule um valor.
Ou seja eu tenho uma tabela com ID, 1, 2, 3 se no quarto insert me retornar erro, automaticamente o próximo ID será o 5,

Alex Lekao
   - 31 mar 2014

Entao acredito que seja isso que deve ter acontecido, pelo que vc comentou Jefferson, ele disse acima que fez alguns inserts, entao pode ser isso.

Mas deixa eu entender rodrigo, a seguencia continuou normal, contando a partir do 1000 ne? 1001, 1002, etc.?

Rodrigo-moraes
   - 31 mar 2014


Citação:
Entao acredito que seja isso que deve ter acontecido, pelo que vc comentou Jefferson, ele disse acima que fez alguns inserts, entao pode ser isso.

Mas deixa eu entender rodrigo, a seguencia continuou normal, contando a partir do 1000 ne? 1001, 1002, etc.?



Sim continuou normal... tipo ele pulou uns 1000 numeros mas depois continuou normal 1001, 1002,1003...
Com relação ao que o jefferson falou, não pode ser essa possibilidade, pois, se ocorreu erro em algumas sequencia foram poucas não 1000 como foi o caso.

Jefferson Santos
   - 01 abr 2014


Citação:

Citação:
Entao acredito que seja isso que deve ter acontecido, pelo que vc comentou Jefferson, ele disse acima que fez alguns inserts, entao pode ser isso.

Mas deixa eu entender rodrigo, a seguencia continuou normal, contando a partir do 1000 ne? 1001, 1002, etc.?



Sim continuou normal... tipo ele pulou uns 1000 numeros mas depois continuou normal 1001, 1002,1003...
Com relação ao que o jefferson falou, não pode ser essa possibilidade, pois, se ocorreu erro em algumas sequencia foram poucas não 1000 como foi o caso.


Verifique como o campo identity esta configurado, no modo gráfico você faz isso tranquilo.

Alex Lekao
   - 01 abr 2014

eh cara...

ai eu ja nao tenho como evoluir muito... rsrsr

consigo no maximo fazer alguns selects.. kkkkkk

Espero que encontre o que aconteceu.

boa sorte!!!

Jefferson Santos
   - 01 abr 2014

Verifique aqui:

Clique na imagem para abrir em uma nova janela

Rodrigo-moraes
   - 02 abr 2014


Citação:
Verifique aqui:

Clique na imagem para abrir em uma nova janela


DESIGN
Clique na imagem para abrir em uma nova janela
OLHA O SCRIPT DE CRIAÇÃO DA TABELA:
USE [BANCOICO]
GO

/****** Object: Table [dbo].[TBICO_INCONSISTENCIA] Script Date: 02/04/2014 20:11:18 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[TBICO_INCONSISTENCIA](
[ID_INC] [int] IDENTITY(1,1) NOT NULL,
[ID_OS] [int] NOT NULL,
[ORIGEM_INC] [char](1) NULL,
[DATA_INC] [datetime] NOT NULL,
[STATUS_MSG] [int] NULL,
[USUARIO_INC] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[ID_INC] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[TBICO_INCONSISTENCIA] ADD DEFAULT (NULL) FOR [ORIGEM_INC]
GO

ALTER TABLE [dbo].[TBICO_INCONSISTENCIA] ADD DEFAULT ((0)) FOR [STATUS_MSG]
GO

ALTER TABLE [dbo].[TBICO_INCONSISTENCIA] WITH CHECK ADD CONSTRAINT [FK_OS_INC] FOREIGN KEY([ID_OS])
REFERENCES [dbo].[TBICO_OS] ([ID_OS])
GO

ALTER TABLE [dbo].[TBICO_INCONSISTENCIA] CHECK CONSTRAINT [FK_OS_INC]
GO

ALTER TABLE [dbo].[TBICO_INCONSISTENCIA] WITH CHECK ADD CHECK (([ORIGEM_INC]='P' OR [ORIGEM_INC]='A' OR [ORIGEM_INC]='G'))
GO

ALTER TABLE [dbo].[TBICO_INCONSISTENCIA] WITH CHECK ADD CHECK (([STATUS_MSG]=(1) OR [STATUS_MSG]=(0)))
GO

-- HOJE NAO ME CAUSA UM GRANDE TRANSTORNO MAS NÃO O MOTIVO DO PROBLEMA...

Vinicius Oliveira
   - 02 abr 2014

Sera que alguem usou o comando
set identity_insert off ?

Vinicius Oliveira
   - 02 abr 2014

Sera que alguem usou o comando
set identity_insert off ?

Rodrigo-moraes
   - 03 abr 2014


Citação:
Sera que alguem usou o comando
set identity_insert off ?


Não sei mas pode ser uma opção mesmo...