SóProvas


ID
1755946
Banca
FCC
Órgão
TRT - 9ª REGIÃO (PR)
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

A tabela relativa a Débitos Trabalhistas a seguir deve ser utilizada para responder à questão.

Considere que a tabela já está criada, os dados iniciais já foram inseridos e o banco de dados a ser utilizado está aberto e funcionando em condições ideais.

Tabela DebTrab 

NroProcesso     Principal         Juros             FGTS             Honor Periciais

111/15               25345.00        3801.75        7933.00         4755.00 

777/15               125800.00      18870.00      57966.87       7543.00 

333/15               8844.50          1326.67        4233.55         1781.00 

555/15               327631.00      65526.20     104863.78      11523.00 

444/15               5072.00          1014.40        895.14            700.00

Considere o programa PL/SQL para o Oracle 11g:

SQL> DECLARE

2 aumento NUMBER(8,2);

3 processo VARCHAR2(10) := '555/15';

4 BEGIN

5 SELECT HonorPericiais * 0.20 INTO aumento

6 FROM DebTrab

7 WHERE processos = NroProcesso;

8 END;

9 /

O programa acima 

Alternativas
Comentários
  • Pegadinha TOTAL ...

    processo != processos


    []'s

  • Nossa, Robson. Verdadeira pegadinha do malandro...

  • E se processos e NroProcesso fossem colunas da tabela DebTrab? iria executar?

  • Para quem ficou curioso quanto ao SELECT ... INTO

     

    With SQL, you can copy information from one table into another.

    The SELECT INTO statement copies data from one table and inserts it into a new table.

     

    SELECT *
    INTO newtable [IN externaldb]
    FROM table1;

     

    Exemplo:

    SELECT *
    INTO CustomersBackup2013
    FROM Customers;

     

    Então supondo que não há mais nenhum erro de sintaxe além daquele apontado pelos colegas (processos != processo) o que esse código faria seria gerar uma nova tabela chamada aumento com uma linha e uma coluna contendo o valor de HonorPericiais * 0.20

     

    http://www.w3schools.com/sql/sql_select_into.asp

     

  • processo é por dedução a coluna da tabela em questão que pode até existir e esse não seria o erro uma vez que não foi dita a estrutura da tabela. Mas quando ele compara com uma variável que não existe chamada NroProcesso aí o tempo fecha e ocorre o erro!

  • um erro está em: 
    WHERE processos = NroProcesso;

    o correto seria:

    WHERE NroProcesso = processos;

  • Cuidado, muito comentário errado aqui...

    Há 2 erros:

    - Deveria ser processo e não processos

    - Deveria ser "Honor Periciais" e não HonorPericiais

      

    OBS: (1) a ordem após o WHERE não importa, (2) uso aspas duplas quando há espaços no nome da coluna

    Se essas correções fossem feitas, seria GAB E