Analista Judiciário - Área: Apoio Especializado - Tecnologia da Informação
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 [email protected] no campo Email. O comando correto é:
ASELECT Vara AS 1, NomeJuiz AS 'Juiz1', Email AS '[email protected]' INTO Tab_TRT18;
BSELECT 1 AS Vara, 'Juiz1' AS NomeJuiz, '[email protected]' AS Email INTO Tab_TRT18;
CSELECT INTO Tab_TRT18 (1 AS Vara, 'Juiz1' AS NomeJuiz, '[email protected]' AS Email);
DSELECT INTO Tab_TRT18 Vara AS 1, NomeJuiz AS 'Juiz1', Email AS '[email protected]';
ESELECT VALUES (1 AS Vara, 'Juiz1' AS NomeJuiz, '[email protected]' AS Email) INTO Tab_TRT18;
Revelar gabarito e comentário▾
GabaritoB — SELECT 1 AS Vara, 'Juiz1' AS NomeJuiz, '[email protected]' AS Email INTO Tab_TRT18;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Criação de Tabela com SELECT INTO no PostgreSQL
Gabarito: letra B. A sintaxe correta no PostgreSQL para criar uma tabela a partir de valores constantes é SELECT 1 AS Vara, 'Juiz1' AS NomeJuiz, '[email protected]' AS Email INTO Tab_TRT18;. A cláusula INTO deve vir após a lista de seleção e antes da cláusula FROM (que neste caso não existe por não haver tabela de origem). As demais alternativas invertem a ordem do INTO ou utilizam nomes de colunas inexistentes.
O comando SELECT ... INTO no PostgreSQL é uma extensão que cria uma nova tabela e insere os resultados da consulta. É equivalente a CREATE TABLE Tab_TRT18 AS SELECT .... A alternativa B respeita a sintaxe: as constantes (1, 'Juiz1', '[email protected]') são especificadas com AS para definir os nomes das colunas da nova tabela.
1SELECT constantes
2AS nome_coluna
3INTO nova_tabela
4FROM (opcional)
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
A sintaxe SELECT Vara AS 1, NomeJuiz AS 'Juiz1', Email AS '[email protected]' INTO Tab_TRT18; está errada porque:
Utiliza nomes de colunas (‘Vara’, ‘NomeJuiz’, ‘Email’) que não existem em nenhuma tabela de origem.
O alias ‘1’ não é um identificador válido sem aspas duplas (números não podem ser identificadores nus no PostgreSQL).
A constante ‘Juiz1’ entre aspas simples após AS é interpretada como alias textual, mas não é a forma correta de definir um valor.
Alternativa B — ✅ Correta ⟵ GABARITO
A sintaxe SELECT 1 AS Vara, 'Juiz1' AS NomeJuiz, '[email protected]' AS Email INTO Tab_TRT18; está correta:
Usa constantes diretamente na lista de seleção.
Define corretamente os alias para nomear as colunas da nova tabela.
A cláusula INTO aparece após a lista de seleção e antes de qualquer FROM (opcional).
No PostgreSQL, esse comando cria a tabela tab_trt18 (nome ajustado para minúsculas, a menos que entre aspas duplas) com uma única linha contendo os valores fornecidos.
Alternativa C — ❌ Incorreta
SELECT INTO Tab_TRT18 (1 AS Vara, 'Juiz1' AS NomeJuiz, '[email protected]' AS Email); — A posição do INTO está errada: ele deve vir após a lista de seleção, e não antes. Além disso, os parênteses envolvendo a lista de colunas não fazem parte da sintaxe SELECT ... INTO.
Alternativa D — ❌ Incorreta
SELECT INTO Tab_TRT18 Vara AS 1, NomeJuiz AS 'Juiz1', Email AS '[email protected]'; — Novamente o INTO está deslocado para antes da lista de seleção. Também faz referência a colunas inexistentes e usa alias inválidos.
Alternativa E — ❌ Incorreta
SELECT VALUES (1 AS Vara, 'Juiz1' AS NomeJuiz, '[email protected]' AS Email) INTO Tab_TRT18; — A cláusula VALUES não é usada diretamente com SELECT nesse contexto. A sintaxe correta para inserir constantes sem tabela de origem seria VALUES (1, 'Juiz1', '[email protected]'), mas mesmo assim não se utilizaria SELECT VALUES INTO. O comando SELECT INTO exige uma lista de seleção, não VALUES.