No SQL Server, você pode usar o T-SQL
IDENT_SEED()
função para retornar a semente original de uma coluna de identidade. Este é o valor de semente original especificado ao criar a coluna de identidade. Sintaxe
A sintaxe fica assim:
IDENT_SEED ( 'table_or_view' )
A table_or_view argumento é uma expressão que especifica a tabela ou exibição para verificar um valor de semente de identidade.
Exemplo 1 – Uso básico
Aqui está um exemplo de código básico.
SELECT IDENT_SEED('Pets') AS Result;
Resultado:
+----------+ | Result | |----------| | 1 | +----------+
Nesse caso, o valor da semente de identidade é 1.
Aqui está outra consulta que verifica mais tabelas.
SELECT IDENT_SEED('Pets') AS Pets, IDENT_SEED('BestFriends') AS BestFriends, IDENT_SEED('Cities') AS Cities;
Resultado:
+--------+---------------+----------+ | Pets | BestFriends | Cities | |--------+---------------+----------| | 1 | 101 | 150 | +--------+---------------+----------+
Cada uma dessas tabelas foi criada com um valor de identidade de semente diferente.
Exemplo 2 – Incluindo o Esquema
Você também pode incluir o esquema no argumento.
SELECT IDENT_SEED('dbo.Pets') AS Result;
Resultado:
+----------+ | Result | |----------| | 1 | +----------+
Exemplo 3 – Verifique todas as tabelas no banco de dados
Aqui está um exemplo de verificação de todas as tabelas no banco de dados para seu valor de semente de identidade.
SELECT TABLE_SCHEMA, TABLE_NAME, IDENT_SEED(TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_SEED FROM INFORMATION_SCHEMA.TABLES WHERE IDENT_SEED(TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;
Resultado:
+----------------+----------------+--------------+ | TABLE_SCHEMA | TABLE_NAME | IDENT_SEED | |----------------+----------------+--------------| | dbo | ConstraintTest | 1 | | dbo | Event | 1 | | dbo | Scoreboard | 1 | | dbo | Pets | 1 | | dbo | BestFriends | 101 | | dbo | Cities | 150 | | dbo | Colors | 1 | +----------------+----------------+--------------+
Sobre o valor de retorno
O valor de retorno para
IDENT_SEED()
é numeric(@@MAXPRECISION,0))
. Isso significa que é um tipo de dados numérico com precisão e escala fixas. A precisão depende do servidor. O
@@MAXPRECISION
O argumento retorna o nível usado pelos tipos de dados decimal e numérico conforme definido atualmente no servidor. A precisão especifica o número total máximo de dígitos decimais (inclui os lados esquerdo e direito do ponto decimal). O segundo argumento especifica uma escala de
0
, o que significa que não há dígitos decimais à direita da casa decimal. Você pode executar a seguinte consulta para encontrar o nível de precisão atualmente definido em seu servidor:
SELECT @@MAX_PRECISION AS [Max Precision];
Aqui está o resultado no meu sistema:
+-----------------+ | Max Precision | |-----------------| | 38 | +-----------------+
Criando uma coluna de identidade
Você pode criar uma coluna de identidade usando o
IDENTITY()
propriedade em seu CREATE TABLE
ou ALTER TABLE
demonstração. Outra maneira de criar uma coluna de identidade é o
IDENTITY()
função. Isso permite que você crie uma coluna de identidade ao usar um SELECT INTO
instrução para transferir dados de uma fonte para outra.