Código PL/SQL do Oracle 10g, que pode ser usado para declara...

Próximas questões
Com base no mesmo assunto
Q635794 Banco de Dados
Código PL/SQL do Oracle 10g, que pode ser usado para declarar uma variável de nome “v_salario” com o mesmo tipo de dados da coluna “salario” de uma tabela “func”, atribuindo o valor 1000,00 para esta variável é
Alternativas

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