Código PL/SQL do Oracle 10g, que pode ser usado para declara...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a B - DECLARE v_salario func.salario%TYPE := 1000.00;
Essa questão aborda o conceito de declaração de variáveis e atribuição de tipos em PL/SQL, que é uma extensão do SQL padrão usada no Oracle Database. No PL/SQL, podemos declarar variáveis que armazenarão dados que serão manipulados durante a execução de blocos de código. Uma prática comum é declarar uma variável com o mesmo tipo de uma coluna em uma tabela para garantir a consistência dos dados.
O operador %TYPE é utilizado justamente para definir que a variável terá o mesmo tipo de dado que uma coluna especificada na tabela. Isso é útil porque o tipo da coluna pode mudar e, ao usar o %TYPE, a variável automaticamente se ajustará ao novo tipo, mantendo a compatibilidade e evitando erros.
A sintaxe correta para declarar uma variável com o tipo de uma coluna específica da tabela é colocar o nome da tabela, seguido de um ponto, o nome da coluna, e por fim, %TYPE. A sintaxe completa inclui também a inicialização da variável, que é feita após o : seguido de um sinal de = e o valor inicial desejado.
Portanto, a alternativa B está correta porque segue a sintaxe adequada para declarar uma variável v_salario com o tipo da coluna salario da tabela func e atribui um valor inicial de 1000.00. A linha de código completa seria:
DECLARE
v_salario func.salario%TYPE := 1000.00;
BEGIN
-- código PL/SQL que utiliza a variável v_salario
END;
As demais alternativas estão incorretas porque não utilizam a sintaxe correta para a declaração e atribuição de tipos em PL/SQL:
- Alternativa A possui uma estrutura de declaração incorreta, misturando a palavra-chave OF, que não é usada neste contexto.
- Alternativa C tenta utilizar TYPEOF, que não é um operador válido em PL/SQL.
- Alternativa D utiliza %ROWTYPE, que serve para declarar uma variável que representa uma linha inteira de uma tabela, não o tipo de uma coluna específica.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo