Para satisfazer a sua curiosidade, esta é a saída do SQL pane:

ALTER TABLE alunos ADD COLUMN id_aluno integer;
ALTER TABLE alunos ALTER COLUMN id_aluno SET NOT NULL;
ALTER TABLE alunos ALTER COLUMN id_aluno SET DEFAULT nextval('alunos_id_aluno_seq'::regclass);

[]'s :)

Em 11-02-2013 10:55, Luiz Rafael Culik escreveu:
Ola Fabiano

O que o pgadmin fez foi provavelmente

alter table nomedatabela add column campoautoinc bigserial ;

[]s
Luiz

Em 11 de fevereiro de 2013 11:50, Fabiano Listas <[email protected] <mailto:[email protected]>> escreveu:

    Em 11-02-2013 07:16, Luiz Rafael Culik escreveu:
    Ola Fabiano

    qual o comando que vc criou essa tabela?
    pois para criar um tipo autoincremento eu uso assim

    create table minhatabela (aluno varchar(50) not null , id_aluno
    bigserial PRIMARY KEY  , data_nasc date);
    Cara, na realidade a tabela já havia sido criada, entende? O que
    eu queria era acrescentar uma nova coluna com a propriedade de
    auto incremento. Eu fiz pelo PGAdmin e sabe Deus o comando que ele
    usou pra fazer isso, hehehehhe... Mas agora que você postou o
    comando pra mim eu vou AGORA anotar pra não esquecer mais!
    Obrigadim!!!

    Bom feriado!


    []s
    Lui\

    Em 10 de fevereiro de 2013 15:01, Fabiano Listas
    <[email protected] <mailto:[email protected]>> escreveu:

        Bom dia, colegas!

        Considerem a seguinte situação: eu criei um BD chamado
        "escola" e uma
        tabela chamada "alunos". Na tabela "alunos", criei as
        seguintes colunas,
        nesta ordem: aluno (varchar), id_aluno (int) e data_nasc
        (date). Setei
        "aluno" como sendo NOT NULL e "id_aluno" como sendo NOT NULL
        e "auto
        increment" (serial).
        Na hora de dar um "INSERT INTO alunos VALUE (etc, etc, etc);",
        obviamente não será preciso que seja inserido o campo
        "id_aluno", pois o
        próprio SGBD cuida disso pra mim. Acontece que eu não sabia
        como deveria
        proceder. Pra mim, o fato de digitar: "INSERT INTO alunos
        VALUE ('José
        dos Anzóis Furados', 26/09/2003)" já fazia com que o SGBD
        entendesse o
        que deveria ser feito. Porém, na hora de dar um "select *
        from" na
        tabela vi que o campo "data_nasc" estava vazio e o "id_aluno"
        estava
        "-2008"! Tudo bem, então, vamos consertar o prejuízo
        manualmente: dei um
        UPDATE e setei o campo "id_aluno" como deveria estar! Porém,
        ao tentar
        inserir outro aluno (somente com o nome do aluno e mais nada)
        o SGDB
        reclamou:

        escola=# INSERT INTO alunos VALUES ('José Bibiano Trigueiro');
        ERROR:  duplicate key value violates unique constraint
        "alunos_pkey"
        DETAIL:  Key (id_aluno)=(1) already exists.

        Diante disto eu pergunto:

        1. Como "pular" o id_aluno na hora de inserir dados na tabela?
        2. Como consertar esse erro para que ele volte a inserir os dados
        corretos na tabela, já que ele vai tentar inserir a chave
        inteira 1 sem
        sucesso sempre? Ou seja, se uma coluna é auto increment e
        mesmo assim
        for setado um valor para ela "na marra", na próxima iteração
        o SGDB vai
        querer usar o valor que foi setado na marra e ele vai
        reclamar. O que fazer?
        3. Há ainda uma pergunta que não tem nada a ver com a
        situação acima:
        como inserir uma coluna "status" como sendo do tipo bit?
        Tentei fazê-lo
        com o comando "UPDATE alunos ADD COLUMN status bit;" e ele me
        retornou a
        seguinte mensagem:

        ERROR:  syntax error at or near "COLUMN"
        LINE 1: UPDATE alunos ADD COLUMN status bit;

        No caso da pergunta 1, alguém poderia dizer: "Ah! isso é
        fácil! É só
        digitar 'INSERT INTO alunos (aluno, data_nasc) VALUE (etc,
        etc, etc);'"
        Mas se a tabela tiver 50 colunas? Vou ter que digitar TODAS
        as colunas
        menos a que eu não quero, todas as vezes que eu for inserir
        algum dado
        na tabela? Ex: "INSERT INTO alunos (aluno, data_nasc, pai,
        mae, serie,
        turno, turma, professora, status, etc, etc, etc, etc, etc,
        etc, etc,
        etc...) VALUE (etc, etc, etc...);"

        De já, agradeço a ajuda!
        Grande abraço a todos!
        _______________________________________________
        pgbr-geral mailing list
        [email protected]
        <mailto:[email protected]>
        https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




    _______________________________________________
    pgbr-geral mailing list
    [email protected]  
<mailto:[email protected]>
    https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


    _______________________________________________
    pgbr-geral mailing list
    [email protected]
    <mailto:[email protected]>
    https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a