SóProvas


ID
1692604
Banca
FCC
Órgão
TRT - 4ª REGIÃO (RS)
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

Considere o trecho de código abaixo. 

SQL> DECLARE

   2 total NUMBER;

   3 horas_trab NUMBER := 40;

   4 valor_hora NUMBER := 52.50;

   5 bonus NUMBER := 1500.00;

   6 nome VARCHAR2(128);

   7 id_ok BOOLEAN;

   8

   9 BEGIN

  10 total := (horas_trab * valor_hora) + bonus;

  11 nome := 'Antonia Santos';

  12 id_ok := TRUE;

  13 END;

  14 /

O código 

Alternativas
Comentários
  • Questão correta letra D. 
    O código é PL/SQL e está aderante à sintaxe do Oracle 11g: http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/overview.htm#BABBDCEC


    A letra E está errada pois o tipo NUMBER pode ser declarado sem especificar a precisão e a escala, nesse caso o Oracle irá armazenar o número informado com escala 0. http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#i22289
  • Por que não poderia ser letra b? Alguém explica?

  • Bruno Marota, parece-me que o tipo NUMBER não é compatível com SQL padrão, mas sim o tipo NUMERIC. Porém é um tipo de dados aceito pelo PL/SQL.

    Fonte: http://www.w3schools.com/sql/sql_datatypes_general.asp

  • mas no oracle existe o tipo boolean?

  • Não existe boolean no oracle, os seus tipos de dados são:

     CHAR, VARCHAR, VARCHAR2, NCHAR, NVARCHAR2, 
    NUMBER, LONG, 
    DATE, TIMESTAMP, TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH, RAW, 
    LONG RAW, ROWID, UROWID, CLOB, NCLOB, BLOB, BFILE, BINARY_FLOAT, BINARY_DOUBLe

     

    Eles recomendam utilizar CHAR(1) 'Y'/'N' que e convertido para NUMBER(1) 0/1 quando alquem preenche com 'Y'/'N' .

    Quando esta escrito em pl sql tem tipos adiocionais:

    Note:

    PL/SQL has additional datatypes for constants and variables, which include BOOLEAN, reference types, composite types (collections and records), and user-defined subtypes.

  • d-

    Se executar no oracle, ele vai executar. 

    As variaveis estao corretas. Nao ha tabela associada a elas; é somente o valor das var. As variaveis vao na seção DECLARE. Os tipos: char, number, date, boolean (true/false). Para atribuir-lhes valor, =:

    ex.: a:=2;

    b:=to_number(c);

    Em pl/sql, todo comando select exige INTO se for associar valores a colunas. nao é o caso.