Questão nº 35
Questão de Tecnologia da Informação · FCC TRT18 2022 (nº 35)
Em um banco de dados PostgreSQL 13 aberto e funcionando em condições ideais, deseja-se criar a tabela `Tab_TRT18` utilizando o comando SELECT, com o valor 1 no campo Vara, o valor Juiz1 no campo NomeJuiz e o valor `vt1goiania@trt18.jus.br` no campo Email. O comando correto é:
- A`SELECT Vara AS 1, NomeJuiz AS 'Juiz1', Email AS 'vt1goiania@trt18.jus.br' INTO Tab_TRT18;`
- B`SELECT 1 AS Vara, 'Juiz1' AS NomeJuiz, 'vt1goiania@trt18.jus.br' AS Email INTO Tab_TRT18;` (alternativa correta)
- C`SELECT INTO Tab_TRT18 (1 AS Vara, 'Juiz1' AS NomeJuiz, 'vt1goiania@trt18.jus.br' AS Email);`
- D`SELECT INTO Tab_TRT18 Vara AS 1, NomeJuiz AS 'Juiz1', Email AS 'vt1goiania@trt18.jus.br';`
- E`SELECT VALUES (1 AS Vara, 'Juiz1' AS NomeJuiz, 'vt1goiania@trt18.jus.br' AS Email) INTO Tab_TRT18;`
Resposta comentada
Gabarito Alternativa B
O comando SELECT ... INTO no PostgreSQL é usado para criar uma nova tabela e preenchê-la com os dados resultantes de uma consulta SELECT. Para definir os valores e os nomes das colunas na nova tabela, a sintaxe correta é valor AS nome_da_coluna.
- (A) Incorreta: A sintaxe
Vara AS 1está invertida; ela tenta nomear uma coluna (Vara) com um valor (1), quando o correto é atribuir um valor a um nome de coluna (1 AS Vara). Armadilha da banca: A banca tenta confundir a ordem da cláusulaAS, que sempre associa um valor ou expressão a um nome de coluna. - (B) Correta: A sintaxe
1 AS Vara,'Juiz1' AS NomeJuize'vt1goiania@trt18.jus.br' AS Emailestá correta, atribuindo os valores literais aos respectivos nomes de coluna. A cláusulaINTO Tab_TRT18também está posicionada corretamente após a lista de seleção. - (C) Incorreta: A sintaxe
SELECT INTO Tab_TRT18 (...)está incorreta, pois não se usam parênteses ao redor da lista de seleção comSELECT INTO, e a cláusulaINTOdeve vir após a lista de seleção, não antes. - (D) Incorreta: A cláusula
INTO Tab_TRT18está posicionada incorretamente (deve vir após a lista de seleção) e a sintaxeVara AS 1repete o erro de inversão da alternativa A. - (E) Incorreta: A sintaxe
SELECT VALUES (...) INTOnão é uma construção SQL padrão para criar uma tabela comSELECT INTOa partir de valores literais com aliases de coluna definidos dessa forma. A cláusulaVALUESé geralmente usada comINSERT INTOou como uma tabela derivada.
Fonte: FCC TRT18 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.