Questões de Concurso Comentadas por alunos sobre pl-sql em banco de dados

Foram encontradas 355 questões

Resolva questões gratuitamente!

Junte-se a mais de 4 milhões de concurseiros!

Q917537 Banco de Dados
A execução apresentada do script deflagrará a execução da trigger trg_01, construída em PL/SQL, que é demonstrada a seguir.
update tabela_a set coluna_a = ‘X’ where coluna_b = ‘Y’;
create trigger trg_01 before delete on tabela_a begin insert into tabela_b values (‘W’, ‘K’); end;
Alternativas
Q917536 Banco de Dados
Se, na execução da procedure em PL/SQL apresentada a seguir, o terceiro parâmetro for nulo, apenas a tabela FUNC será manipulada.
create procedure proc_01 (p_matricula in number, p_perc in number, p_promocao in varchar2) as declare n_salario number; begin update func set salario = salario * 1 + (p_rec / 100) where matricula = p_matricula; if p_promocao is not null then select salario into n_salario from func where matricula = p_matricula; insert into historico values (p_matricula, sysdate, n_salario); end if; commit; end;
Alternativas
Q917374 Banco de Dados
No Oracle 11g, um índice bitmap de junção (bitmap join index) é um índice bitmap representando a junção entre duas ou mais tabelas. Considere as tabelas e os comandos de criação de índice bitmap de junção, definidos abaixo, usando PL/SQL.
Create table DEPARTAMENTOS (codd integer not null primary key, nomed varchar(60) not null);
create table EMPREGADOS (codEmp integer not null primary key, nome varchar(40) not null, salario numeric(8,2), codd integer not null, codGerente integer, foreign key (codd) references DEPARTAMENTOS, foreign key (codGerente) references EMPREGADOS);
I - CREATE BITMAP INDEX IDX1 ON EMPREGADOS(E2.nome) FROM EMPREGADOS E1, EMPREGADOS E2 WHERE E1.CODGERENTE = E2.CODEMP; II - CREATE BITMAP INDEX IDX2 ON EMPREGADOS(DEPARTAMENTOS.nomed) FROM DEPARTAMENTOS, EMPREGADOS WHERE DEPARTAMENTOS.CODD = EMPREGADOS.CODD; III - CREATE UNIQUE BITMAP INDEX IDX3 ON EMPREGADOS(DEPARTAMENTOS.nomed, EMPREGADOS.nome) FROM DEPARTAMENTOS, EMPREGADOS WHERE DEPARTAMENTOS.CODD = EMPREGADOS.CODD;
Quais comandos são válidos, considerando as restrições existentes para criação de índices bitmap de junção?
Alternativas
Q917366 Banco de Dados
Considere a tabela EMPREGADOS e o gatilho definidos abaixo usando a sintaxe PL/SQL do Oracle.
create table EMPREGADOS (codEmp integer not null primary key, nome varchar(40) not null, salario numeric(8,2) check (salario > 0), codGerente integer, foreign key (codGerente) references EMPREGADOS, constraint EmpGer check(codEmp != codGerente ));
create or replace trigger GATILHO1 after insert or update of salario on empregados declare vcount integer; begin      select count(*) into vcount      from empregados e, empregados g     where e.codGerente = g.codemp         and e.salario >= g.salario;     if vcount > 0     then raise_application_error(-20001, 'Erro’);     end if; end;
Suponha que o modo auto-commit de execução esteja ativado, e, portanto, cada comando em isolado corresponde a uma transação. Considere a sequência de comandos SQL abaixo.
(1) insert into empregados values (1, ‘joao’, 2000, null);
(2) insert into empregados values (2, ‘paulo’, 500, 1);
(3) insert into empregados values (3, ‘maria’, 3500, null);
(4) update empregados set codGerente = 1, salario = 3000 where codEmp = 3;
(5) insert into empregados values (4, 'pedro', 3300, 3);
Usando-se os números dos comandos SQL acima, qual sequência de comandos SQL será executada sem falhas (isto é, sequência dos comandos que serão confirmados na base de dados)?
Alternativas
Q917299 Banco de Dados
Em um banco de dados Oracle aberto e em condições ideais há uma tabela chamada func de onde se deseja exibir os nomes dos funcionários (campo nome) e os códigos de departamentos (campo codDep) de todos os funcionários dos departamentos 10 ou 20 em ordem alfabética crescente por nome. Para isso, utilizando PL/SQL, um Técnico de TI deve utilizar a instrução SELECT nome, codDep FROM func WHERE
Alternativas
Respostas
111: E
112: C
113: B
114: D
115: A