Questão nº 38
Questão de Tecnologia da Informação · FGV MPGO Servidores 2022 (nº 38)
Observe o trecho de uma script de criação de tabela no MySQL.
```sql
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.
- AAUTO_NUMBER
- BCOUNTER
- CIDENTITY (alternativa correta)
- DINCREMENT
- ETIMESTAMP
Resposta comentada
Gabarito Alternativa C
Conceito-chave: auto_increment no MySQL cria automaticamente um número sequencial (1, 2, 3...) para a coluna, sem você precisar digitá-lo. No SQL Server, a função equivalente é a propriedade IDENTITY, que faz exatamente a mesma coisa: gera valores numéricos automáticos e únicos.
- (A) Incorreta:
AUTO_NUMBERnão existe como cláusula no SQL Server (nem no MySQL); é um termo genérico, não um comando real. - (B) Incorreta:
COUNTERé um tipo de campo usado no Microsoft Access, não no SQL Server. - (C) Correta:
IDENTITYé a cláusula oficial do SQL Server para gerar valores sequenciais automáticos, ex.:b INT IDENTITY(1,1). É o equivalente direto doauto_incrementdo MySQL. - (D) Incorreta:
INCREMENTnão é uma cláusula isolada no SQL Server; ele aparece apenas como parte da sintaxeIDENTITY(seed, increment), mas sozinho não funciona. - (E) Incorreta:
TIMESTAMPé um tipo de dado (ouROWVERSION) que armazena um valor binário automático para controle de versão de linha, não gera números sequenciais inteiros.
Armadilha da banca: A alternativa (B) COUNTER é a mais tentadora, pois lembra o conceito de "contador" e existe no Access. Mas a banca quer que você saiba que no SQL Server o nome exato da cláusula é IDENTITY, e não um sinônimo genérico.
Fonte: FGV MPGO Servidores 2022 Analista em Informática (Caderno Tipo 1). Reproduzida para fins de estudo.