Q11886 - FGV Especialista Legislativo - Tecnologia da Informação 2017
Observe as figuras a seguir que ilustram, parcialmente, dois
procedimentos escritos em PL/SQL e implementados em uma
instância de banco de dados Oracle 11g. Considere que a execução de proced1 foi submetida
diretamente no prompt do Oracle SQL *Plus®.
A transação iniciada na linha 5 de proced1 terá seus efeitos
gravados permanentemente no banco de dados quando:
O PL/SQL (Procedural Language/Structured Query Language) é uma linguagem procedural, que foi adicionada pela
Oracle, a partir do Oracle Database 6, o qual permite a escrita de programas que contêm instruções SQL. Na
linguagem PL/SQL, os programas são divididos em estruturas conhecidas como blocos, sendo que cada um desses
blocos contém instruções PL/SQL e SQL. Essas instruções são: de declaração, executáveis e de tratamento de
exceções. Exceções são usadas para tratamento de erros em tempo de execução, no código PL/SQL, em que algumas
exceções já são predefinidas. Sobre exceções predefinidas, assinale a alternativa INCORRETA.
Q11909 - FCC Analista Judiciário - Tecnologia da Informação 2017
Uma tabela chamada funcionario contém os registros abaixo. Foi digitado um comando PL/SQL para exibir os números de departamentos e os salários daqueles departamentos com salário
máximo maior do que 3000. Os dados exibidos foram: O comando digitado foi:
Q11914 - FCC Analista Judiciário - Análise de Sistemas 2017
No âmbito dos blocos PL/SQL, é fato que operações em BULK são utilizadas para melhorar o desempenho das instruções SQL
e usar o mínimo possível do Context Switch. Todavia ao utilizar o %ROWCOUNT em operações com BULK o resultado
retornado talvez não seja o esperado, pois ele irá retornar a quantidade total de linhas que foram retornadas ou modificadas e
não a quantidade por cada uma das operações realizadas. Para isto, as operações em BULK possuem alguns atributos a mais
que solucionam essa necessidade, ou seja, exibem a quantidade por cada uma das operações realizadas em um BULK como é
o caso de SQL
Considere as instruções Oracle PL/SQL abaixo.
I. SELECT sobrenome, id, salario FROM funcionarios WHERE id IN ('SA_REP';'ST_CLERK') AND
salario NOT IN (2000; 3000; 5000);
II. SELECT id, sobrenome, salario, ROUND(salario * 1.155, 0) "Novo Salário", ROUND(salario *
1.155, 0) - salario "Aumento" FROM funcionarios;
III. SELECT sobrenome, LPAD(salario, 15, '$') Salário FROM funcionarios;
IV. SELECT id, CASE id WHEN 'ST-CLERK' THEN 'E' WHEN 'SA_REP' THEN 'D' WHEN 'ST_MAN' THEN 'C'
ELSE '0' END_CASE FROM funcionarios;
Considerando a existência da tabela funcionarios com os campos id (PK), nome, sobrenome e salario em um banco de
dados aberto e em condições ideais, a sintaxe das instruções está correta APENAS nos itens