none
identity(1,1) mas o primeiro registro começa no 2 RRS feed

  • Pergunta

  • ola pessoal

    o prblema e o seguinte tenho um banco de dados onde tenho um campo identity(1,1), mas ao criar o primeiro cadastro o codigo identity começa em 2.

    exemplo:

    tenho as seguintes tabelas:

    create table Departamento
    (
        CodDepto integer identity(1,1) not null,
        NomeDepto varchar(50) not null  unique,
        primary key (CodDepto)
    );

    create table Usuario
    (
        CodUsu integer identity(1,1) not null,
        Usuario varchar(50) not null unique,
        senha varchar(15) not null,
        CodDepto integer,
        CodFunc integer,
        primary key (CodUsu),
        foreign key (CodDepto) references Departamento,
    );

    create table Funcionarios
    (
        CodFunc integer identity(1,1) not null,
        NomeFunc varchar(50) not null,
        IdadeFunc integer not null,
        CPFFunc varchar(30) not null unique,
        RGFunc Varchar(30) not null,
        TelFunc varchar(30) not null,
        CelFunc Varchar(30),
        TelComFunc varchar(30),
        EndRuaFunc varchar(50) not null,
        EndNumFunc varchar(20),
        ComplFunc Varchar(50),
        BairroFunc varchar(50),
        CidadeFunc Varchar(50),
        EstadoFunc Varchar(10) not null,
        PaisFunc Varchar(50) not null,
        CEPFunc Varchar(20),
        CodDepto integer,
        CodUsu integer,
        primary key (CodFunc),
        foreign key (CodDepto) references Departamento,
        foreign key    (CodUsu) references Usuario
    );

    so que a tabela funcionario quando eu cadastro o primeiro funcionario ele ganha Codfunc = 2 e nao 1 como deveria

    como posso resolver isso?

    sábado, 18 de agosto de 2012 16:58

Respostas

  • Olá Adrielle

    verifiquei e nao há nenhum funcionario cadastrado, tanto pq havia acabado de criar a tabela, mas deletei a tabela e e rodei o script novamente ai deu certo.

    mesmo assim agradeço pela ajuda

    obrigado

    • Marcado como Resposta Andre Germiniani segunda-feira, 20 de agosto de 2012 11:40
    segunda-feira, 20 de agosto de 2012 11:39

Todas as Respostas

  • André, pelo que olhei no seu script, o mesmo está correto.

    Faça um select (select * from Funcionarios;) e verifique se o banco já não possui algum funcionário cadastrado, pois provavelmente por isso o identity está gerando o código a partir do 2.

    Aproveite e dê uma olhada no artigo http://msdn.microsoft.com/en-us/library/aa933196%28v=sql.80%29.aspx

    Espero ter ajudado!

    domingo, 19 de agosto de 2012 17:53
  • Olá Adrielle

    verifiquei e nao há nenhum funcionario cadastrado, tanto pq havia acabado de criar a tabela, mas deletei a tabela e e rodei o script novamente ai deu certo.

    mesmo assim agradeço pela ajuda

    obrigado

    • Marcado como Resposta Andre Germiniani segunda-feira, 20 de agosto de 2012 11:40
    segunda-feira, 20 de agosto de 2012 11:39