Sequence

14/09/2011

Como faço para criar uma sequence no SQL Server 2008 ?
Algo como o generator do Firebird.



Luiz Bertolazzi

Respostas

14/09/2011

Marco Pinheiro

Luiz,

Se entendi vc quer criar um sequencial no SQL Server.
Você pode criar uma coluna com a função IDENTITY(1,1), ou seja, ele incrementa de 1 em 1 começando pelo registro 1.

Ou usar a função ROW_NUMBER() OVER (ORDER BY campo), isso para uma tabela que já possue registros.

Poste a sua necessidade para melhor exemplificar.

Att.,

Marco.
Responder Citar

15/09/2011

Luiz Bertolazzi

Obrigado pela dica, mas não queria usar um campo autoincremento. O que preciso é algo como o generator do Firebird, inclusive o Oracle tem esse recurso do sequence. Preciso criar um contador que não tenha problemas com concorrência, algo assim CREATE SEQUENCE SEQ_NOME_SEQUENCE
Responder Citar

15/09/2011

Marco Pinheiro

Luiz,

Entendi. Neste caso tente usar a função ROW_NUMBER. Ela deve atender a sua demanda. Esta função tb funciona no Oracle com a mesma sintaxe do SQL Server.

Att.,

Marco.
Responder Citar

16/09/2011

Emerson

Luiz, o uso de generators (sequence) no Firebird é justamente para criar um campo autoincremento.

Creio que a sugestão do campo IDENTITY é exatamente o que você procura.
Responder Citar

09/02/2012

Décio

GALERA BOM DIA A TODOS.
ESTOU COM UM PROBLEMINHA AQUI E GOSTARIA DE COMPRATILHAR COM VOCES.
TENHU UM SISTEMA EM D7 BANCO SQL2005 CONEXAO BDE, ESTOU TENDO PROBLEMA NO PEDIDO, AS VEZES UM VENDEDO DA INCLUIR E PEGA O MESMO PEDIDO QUE OUTRO AI ELE DA ESC E PERDE O DO OUTRO, ALGUEM TEM ALGUMA DICA DE COMO MUDAR OU COMO UTILIZA PRA FAZER CONTROLE DE CONTADORES.
EU UTILIZO UMA TABELA COMO O NOME DO CAMPO E O VALOR QUANDO DO INCLUIR ELE VAI PEGA O CODIGO E SOMA MAIS UM E GRAVA NA TABELA, POREM USO UMA TABLE PRA ISSO SERA Q UTILIZANDO UMA QUERY MELHORARIA ALGO.

ABRAÇOS VALEW.
Responder Citar