Observe o trecho de uma script de criação de tabela no MySQL. create table teste ( a int auto_increment unique, b int ) Assinale a cláusula usada no SQL Server que corresponde funcionalmente à cláusula auto_Increment do MySQL.
- A)AUTO_NUMBER
AUTO_NUMBER não é a cláusula padrão do SQL Server para auto-numeração de campos.
- B)COUNTER
COUNTER não é a sintaxe usada no SQL Server para esse recurso, apesar de lembrar a ideia de contagem automática.
- C)IDENTITY
IDENTITY é a cláusula do SQL Server que corresponde funcionalmente ao auto_increment do MySQL.
- D)INCREMENT
INCREMENT isoladamente não define uma coluna autoincremental no SQL Server.
- E)TIMESTAMP
TIMESTAMP não tem a função de gerar chave numérica sequencial; ele serve para marcação temporal ou controle de versão, dependendo do SGBD.
Gabarito: C
A cláusula auto_increment no MySQL serve para gerar valores numéricos automáticos, normalmente usados como chave identificadora de registros, sem que você precise informar manualmente cada novo valor. Em geral, ela trabalha junto com chave única ou chave primária, porque a ideia é evitar repetição e deixar o banco cuidar da sequência. No SQL Server, o recurso funcionalmente equivalente é identity. Ele faz exatamente esse papel de auto-numeração da coluna, criando valores incrementais para cada novo registro inserido. Por isso, o gabarito é a letra C. Vale lembrar que, embora o nome mude de um SGBD para outro, a lógica é a mesma: uma coluna definida para ser preenchida automaticamente pelo banco, seguindo uma sequência controlada. Em prova, a banca costuma cobrar essa equivalência entre MySQL e SQL Server de forma direta, sem muita firula.