Fórum Tipo Interger auto incremento #499741
30/10/2014
0
Flaviano Martins
Curtir tópico
+ 0Posts
31/10/2014
Marisiana Battistella
Gostei + 0
31/10/2014
Ronaldo Lanhellas
CREATE TABLE tabela1(
id integer primary key default nextval('nome_da_sequence');
);
Gostei + 0
03/11/2014
Flaviano Martins
não entendi esse trecho
default nextval('nome_da_sequence');por favor, pode me explicar?
Gostei + 0
04/11/2014
Marisiana Battistella
O recurso auto increment do PostgreSQL não é apenas uma opção na coluna e sim uma série de fatores que juntos determinam o efeito de somar um (ou n à sua chave primária).
Sequence (sequência) é um recurso do PostgreSQL utilizado para gerar números sequenciais.
Nextval é uma função do PostgreSQL utilizada para obter o próximo valor de uma sequence.
Default value (valor padrão) é um recurso disponibilizado em uma coluna para determinar um valor padrão que o campo assumirá caso nada seja informado no comando de insert.
Sequence Manipulation Functions: [url]http://translate.google.com.br/translate?hl=pt-BR&sl=en&tl=pt&u=http%3A%2F%2Fwww.postgresql.org%2Fdocs%2F9.3%2Fstatic%2Ffunctions-sequence.html&anno=2[/url]
Default values: [url]http://www.postgresql.org/docs/9.3/static/ddl-default.html[/url]
Gostei + 0
04/11/2014
Flaviano Martins
Gostei + 0
04/11/2014
Marisiana Battistella
Gostei + 0
04/11/2014
Flaviano Martins
Gostei + 0
18/11/2014
Flaviano Martins
Quando crio um campo serial, obrigatoriamente cria-se uma sequencia(auto-incremento) mas posso fazer separadamente, criando uma sequencia e depois uma tabela com campo diferente de serial, esse resumo, está procedente?
Gostei + 0
18/11/2014
Flaviano Martins
Gostei + 0
19/11/2014
Marisiana Battistella
Mas você pode criar a tabela normal, definindo as PK e FK, e depois criar a sequence para o campo que será autoincremento.
Gostei + 0
19/11/2014
Flaviano Martins
Gostei + 0
19/11/2014
Fernando C
http://www.postgresql.org/docs/9.2/static/sql-createsequence.html
Gostei + 0
19/11/2014
Flaviano Martins
Gostei + 0
19/11/2014
Marisiana Battistella
Eu não conhecia esse tipo de dados serial, sempre utilizei integer, mas fui pesquisar pra ver o que é...
Você pode criar a tabela e a sequence normalmente e executar a sequence no INSERT ou então criar uma trigger para executar a sequence sempre que ocorrer uma inserção.
Gostei + 0
19/11/2014
Marisiana Battistella
CREATE TABLE tab_cliente
(
idcliente integer NOT NULL,
nomecliente character varying(50),
CONSTRAINT pk_tabcliente PRIMARY KEY (idcliente)
);
CREATE SEQUENCE seq_idcliente
INCREMENT 1
MINVALUE 1
MAXVALUE 100
START 1
CACHE 1;
ALTER TABLE seq_idcliente
OWNER TO postgres;
INSERT INTO tab_cliente (idcliente, nomecliente)
VALUES ( nextval('seq_idcliente'), 'FULANO');
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)