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

Foram encontradas 300 questões

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
Q900868 Banco de Dados
Para saber o tempo de serviço de cada funcionário da sua equipe, um Analista de Sistemas deseja utilizar, em um banco de dados Oracle aberto e em condições ideais, um comando PL/SQL para exibir o nome do funcionário (campo nome) e calcular o número de meses entre a data atual e a data em que o funcionário foi admitido (campo data_admissao), arredondando o número de meses para o valor inteiro mais próximo. Considerando que a tabela onde estão os dados chama-se funcionario, terá que utilizar o comando
Alternativas
Q898832 Banco de Dados
A palavra reservada utilizada em PL/SQL para referenciar campos específicos que devem disparar uma trigger de UPDATE é:
Alternativas
Q876840 Banco de Dados
Qual funcionalidade do PL/SQL permite agrupar procedimentos, funções, exceções, estruturas de dados, cursores e/ou declarações de variáveis globais?
Alternativas
Q876839 Banco de Dados
Em PL/SQL, qual procedimento é utilizado para comunicar uma exceção definida interativamente, retornando um código ou uma mensagem de erro não padronizada?
Alternativas
Q876838 Banco de Dados
Qual tipo de variável em PL/SQL é precedida pelo símbolo “&”, podendo ser utilizada para promover a entrada de valores para o bloco durante a execução?
Alternativas
Q876717 Banco de Dados
Qual é a variável de PL/SQL que armazena blocos grandes de dados com caracteres de um único byte no banco de dados?
Alternativas
Q876716 Banco de Dados

Considere as afirmações abaixo sobre a estrutura de um bloco PL/SQL.


I - A seção declarativa é uma seção opcional e deve ser utilizada somente quando variáveis, cursores, exceções e/ou tipos construídos forem requeridos na resolução do problema.

II - A seção executável é obrigatória na construção de um bloco e compreende o conjunto de instruções para a resolução do problema do bloco que será construído.

III - A seção de tratamento de exceções é opcional e deve ser utilizada somente quando houver necessidade de tratamento de erros que podem ocorrer durante a execução do bloco.


Quais estão corretas?

Alternativas
Q876715 Banco de Dados
Qual é o método de PL/SQL que retorna o tamanho máximo de uma coleção?
Alternativas
Q868599 Banco de Dados

No Oracle um Analista de Sistemas precisa alterar o status da tabela departamentos para "somente leitura", de forma a evitar ações que possam alterar dados. Para isso, deverá utilizar o comando PL/SQL

Alternativas
Q868598 Banco de Dados

Considere a instrução PL/SQL abaixo, digitada no Oracle, no qual as tabelas com os respectivos campos existem em condições ideais.


SELECT f.nome_funcionario, f.id_departamento, d.nome_departamento FROM funcionarios f,

departamentos d WHERE f.id_departamento = d.id_departamento ...I... ;


Para que a consulta recupere todas as linhas da tabela funcionarios, mesmo que não haja correspondência na tabela departamentos, a lacuna I deve ser preenchida com o operador de join externa

Alternativas
Q856031 Banco de Dados

Um Técnico em informática utilizou, em um banco de dados aberto e em condições ideais, as instruções abaixo.

UPDATE funcionarios SET nome= 'Pedro'  WHERE id=1;

SAVEPOINT altera; 

INSERT INTO funcionarios VALUES  (2,'Marcos');


Para descartar o que foi realizado após o SAVEPOINT, ou seja, a inserção do funcionário Marcos, utiliza-se a instrução PL/SQL  

Alternativas
Q856030 Banco de Dados
A instrução PL/SQL SELECT SUBSTR ('Tribunal Regional Federal da 5ª Região',1,8)  FROM DUAL; exibirá 
Alternativas
Q856029 Banco de Dados
Considere uma tabela chamada funcionarios que possui os campos id, nome e salario. Para exibir os nomes e os salários dos funcionários João e Maria utiliza-se a instrução PL/SQL 
Alternativas
Q855616 Banco de Dados

Julgue o item seguinte, relativo ao banco de dados Oracle.


Em Oracle PL/SQL, a declaração CONSTANT não pode impor a restrição NOT NULL.

Alternativas
Q846256 Banco de Dados
O professor está ensinando que todos os programas em PL/SQL são compostos por blocos. Para tanto, um bloco é definido basicamente com as seguintes palavras chaves:
Alternativas
Respostas
101: E
102: C
103: B
104: D
105: A
106: E
107: B
108: A
109: C
110: A
111: A
112: E
113: E
114: E
115: A
116: B
117: E
118: A
119: E
120: C