Para inserir um identificador único em um registro, você precisará executar uma função do SGBD (caso o campo tenha preenchimento manual), ou deixar o SGBDD gerar automaticamente (caso o campo tenha preenchimento automático). Não é possível gerar o UID manualmente. A instrução SQL abaixo (no formato MS SQL Server) insere dados numa suposta tabela de VENDA com campo de ID_Venda do tipo UID:
INSERT INTO VENDAS (ID_Venda, ValorVenda, DataVenda, ID_Cliente)
VALUES (newid(), 100, ‘2015-12-10’, 8)
Note que a função “newid()” irá gerar um número de UID e inseri-lo na tabela.
Uma vez criado, você pode usar o valor de UID para referências. Como, por exemplo, em cláusulas WHERE ou mesmo numa instrução INSERT. Vamos supor agora que o campo ID_Cliente também é do tipo UID e o valor do ID_Cliente que queremos inserir seja “E75B92A3-3299-4407-A913-C5CA196B3CAB”. A instrução SQL agora seria:
INSERT INTO VENDAS (ID_Venda, ValorVenda, DataVenda, ID_Cliente)
VALUES (newid(), 100, ‘2015-12-10’, ‘E75B92A3-3299-4407-A913-C5CA196B3CAB’)
Note que usamos aspas para delimitar o campo de UID, ele é formatado do mesmo modo que um campo de caracteres.
Dessa forma, ao montar uma arquitetura de bancos de dados distribuídos onde mais de um SGBDD enviarão dados, tenha cuidado para evitar possíveis conflitos de chave primária. Utilize chaves compostas ou identificadores únicos para evitar esses conflitos.