Qual da alternativas abaixo apresenta a forma correta de declarar uma constante denominada PI com valor (aproximado) de 3.14?
PI CONSTANT NUMBER(1,2) := 3.14;
PI CONSTANT NUMBER(1,2) = 3.14;
CONSTANT PI NUMBER(3,2) == 3.14;
PI CONSTANT NUMBER(3,2) := 3.14;
CONSTANT PI NUMBER(3,2) := 3.14;
Soluções para a tarefa
Resposta:
PI CONSTANT NUMBER(3,2) := 3.14;
Explicação:
A declaração de uma constante no PL/SQL é com a sintaxe:
DECLARE
constant_name CONSTANT datatype := VALUE;
E como queremos fazer essa constante ser um datatype number (que é um supertype de todos os numeric datatypes) com o mínimo de desperdício possível, precisamos ver como sua base, numeric funciona, o datatype numeric funciona recebendo 2 parâmetros:
NUMERIC(p, s)
onde 'p' é a precisão que representa o número total de dígitos permitidos nessa coluna, e 's' é a escala que representa o numero de dígitos permitidos após a virgula (decimais), por isso por exemplo um campo
balance numeric(8,2)
guardaria o número 173226.62 de maneira totalmente segura [exemplo na imagem] , porém um dígito inteiro ou decimal a mais nesse número não seria aceito, pois fogem dos escopos totais e de decimais decididos pelo datatype da coluna.
Então para sua constante que vai armazenar um total de 3 dígitos sendo 2 decimais deverá se declarar ela com:
PI CONSTANT NUMBER(3,2) := 3.14;