Questões de Concurso
Comentadas sobre pl-sql em banco de dados
Foram encontradas 335 questões
Quanto aos Sistemas de Gerenciamento de Bancos de Dados (SGBD), analise as afirmativas abaixo e assinale a alternativa correta.
I. o MySQL, mesmo depois que foi adquirido pela Oracle, utiliza a linguagem SQL.
II. uma das linguagens que o PostgreSQL utiliza é o PL/ pgSQL, assim como PL/Python.
III. para o processamento de transações o Oracle utiliza da linguagem de programação PL/SQL.
O sistema gerenciador de bancos de dados Oracle 12c possui a função GREATEST, inserida no seguinte comando do PLSQL:
SELECT GREATEST ('Olavo', 'Pedro', 'Silvio', 'Armando');
Tal comando tem como resultado
A troca de contexto é a ocorrência de chaveamento entre a engine SQL e a engine PL/SQL durante a execução de queries ou blocos PL/SQL. Essa troca é invocada sempre que, dentro de um bloco PL/SQL, executa-se uma query ou um comando DML. Se executados isoladamente, os comandos INSERT, DELETE ou UPDATE, por exemplo, costumam ter pouco ou mesmo nenhum impacto na performance, mas quando executados em loops, o efeito das trocas de contexto se torna cumulativo e o prejuízo na performance do procedimento se torna bem evidente.
Para evitar esse prejuízo, o Oracle 11g implementa um comando cujo objetivo é enviar ao servidor um lote de comandos DML de uma única vez, utilizando apenas uma troca de contexto. Trata-se do
No PL/SQL, um subprograma pode ser um procedure ou uma função. Sobre estas estruturas, considere:
I. No geral, procedure é usado para realizar uma ação e a função para calcular e retornar um valor.
II. Os procedures e as funções têm a mesma estrutura e os mesmos parâmetros como, por exemplo, a cláusula RETURN.
III. Os subprogramas podem ser agrupados em pacotes PL/SQL, que tornam o código mais reutilizável.
IV. Funções e procedures são armazenados no banco de dados em formato não compilado. Eles serão compilados somente no caso de backup do banco de dados.
Está correto o que se afirma APENAS em
Ao criar a tabela paciente em um banco de dados Oracle, composta pelas colunas id, nome, sobrenome e uf, foi definido o valor padrão 'SP' para a coluna uf. Para inserir um registro nesta tabela, usando o valor padrão definido, utiliza-se a instrução PL/SQL INSERT INTO paciente (id, nome, sobrenome, uf) VALUES (300, 'Paulo', 'Freitas', ..I.. );
A lacuna I é corretamente preenchida por
Informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir sobre Procedural Language Extension to SQL (PL/SQL).
( ) Os programas são combinados em blocos.
( ) Comentários podem ser somente de linha única.
( ) Faz distinção entre letras maiúsculas e minúsculas.
( ) É utilizada para o desenvolvimento do lado do servidor e do lado do cliente.
De acordo com as afirmações, a sequência correta é
Um Auditor digitou em um banco de dados Oracle, aberto e em condições ideais, a instrução PL/SQL:
SELECT id, nome FROM cidadao WHERE id = '001' FOR UPDATE ORDER BY id;
A cláusula FOR UPDATE
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;
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;
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?
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)?