SQL Server GUID

SQL Server GUID
Nesta postagem, aprenderemos a usar o tipo de identificação exclusiva no SQL Server. Também usaremos as funções Newid () e NewsequencialId () para gerar valores de GUID.

Tipo de SQL Server UniqueIdentifier

Este é um valor de GUID de 16 bytes usado em uma coluna ou uma variável local. Você pode criar um valor de tipo exclusivo de identificação usando as funções newid () e newsequencialId ().

Você também pode gerar um valor GUID convertendo um valor de sequência no formato xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxx, onde x é um dígito hexadecimal na faixa de 0-9.

Devido à 'aleatoriedade' de um valor GUID, é garantido que um valor GUID pode ser único em um banco de dados ou até servidores. Isso é um excelente tipo de dados para identificar exclusivamente um determinado valor.

Função sql server newid ()

A função newid () nos permite gerar um novo valor exclusivo do tipo de identificação exclusiva. A sintaxe é como mostrado:

Newid ()

Por exemplo:

Declare @GID ULEMEDIDENTIFIER;
set @gid = newid ();
selecione @Gid como GID;

As declarações acima devem retornar um valor GUID como:

Gid
873412E2-A926-4EAB-B99F-A1E47E727355

Função SQL Server NewsequencialId ()

Esta função permite gerar valores exclusivos de GUID sequencialmente. Funciona gerando um valor GUID maior que o GUID gerado anteriormente.

Isso o torna útil para uso como identificador de linha, pois gera valores sequencialmente, em vez de determinar manualmente o próximo valor do GUID usando a função newid ().

A sintaxe da função é como mostrado:

NewrequencialId ()

Usando o SQL Server GUID como identificador de linha

O exemplo a seguir mostra como usar a função NewsequencialId () como um identificador de linha para uma determinada coluna.

Crie entradas de tabela (
ID ULEMENTIDENTIFIER NÃO NULL PADRÃO NEWSENFESTIALID () Chave primária,
Server_name Varchar (50),
Server_address Varchar (255) não nulo,
compressão_method Varchar (100) padrão 'nenhum',
size_on_disk float não nulo,
Size_Compressed Float,
Total_records int não nulo,
init_date data
);
inserir
em
Entradas (server_name,
endereço do servidor,
método de compressão,
tamanho no disco,
size_compressado,
total_records,
init_date)
valores
('Mysql', 'localhost: 3306', 'lz77', 90.66,40.04.560000, '2022-01-02'),
('Redis', 'localhost: 6307', 'Snappy', 3.55.998.2.100000, '2022-03-19'),
('PostGresql', 'localhost: 5432', 'PGLZ', 101.2,98.01.340000, '2022-11-11'),
('Elasticsearch', 'localhost: 9200', 'lz4', 333.2.300.2.1200000, '2022-10-08'),
('MongoDB', 'Localhost: 27017', 'Snappy', 4.55,4.10.620000, '2021-12-12'),
('Apache Cassandra', 'localhost: 9042', 'Zstd', 300.3.200.12.10000000, '2020-03-21');

No exemplo acima, definimos a coluna de ID como o tipo de identificação exclusiva e o valor padrão como o valor gerado pela função newrequencialId ().

A tabela resultante é como mostrado:

selecione * nas entradas;

Saída:

Embora o uso de valores do GUID possa fornecer singularidade estrita, pode ser difícil ao depurar ou selecionar valores específicos.

Conclusão

Neste guia, você aprendeu sobre o tipo de identificador exclusivo no SQL Server. Você também aprendeu a gerar valores do GUID usando as funções Newid () e NewsequencialId ().