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

Foram encontradas 335 questões

Q1044155 Banco de Dados
No PL/SQL, a diretiva NOCOPY é utilizada para
Alternativas
Q1042242 Banco de Dados
A funcionária cujo nome de usuário do banco de dados Oracle 11g é paula1208 tem privilégio para inserir dados na tabela Processo. Para seu gestor cancelar este privilégio, com o banco de dados aberto e em condições ideais, ele deverá usar o comando:
Alternativas
Q1021885 Banco de Dados
Considerando a linguagem PL/SQL, a consulta para obter o número de produtos distintos, da seguinte tabela: Estoque (ID, Produto, Tipo), de um banco de dados relacional é:
Alternativas
Q1018495 Banco de Dados
O PL/SQL representa a linguagem de consulta de dados utilizada pelo sistema gerenciador de bancos de dados Oracle. Nessa linguagem há o uso de identificadores. Há apenas identificadores válidos do PL/SQL em:
Alternativas
Q1014630 Banco de Dados

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.

Alternativas
Q971999 Banco de Dados
Pseudocolunas são colunas que não fazem parte da tabela, mas que têm características de colunas. No PL/SQL, pode-se utilizar as seguintes pseudocolunas, EXCETO:
Alternativas
Q952519 Banco de Dados

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

Alternativas
Q948781 Banco de Dados

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

Alternativas
Q944827 Banco de Dados

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

Alternativas
Q944826 Banco de Dados

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

Alternativas
Q944825 Banco de Dados
No Oracle PL/SQL a instrução ALTER TABLE permite adicionar, modificar e eliminar colunas ou restrições de uma tabela. Considerando a existência da tabela paciente e dos campos paciente_id (primary key), nome e sobrenome, um uso correto desta instrução é apresentado em:
Alternativas
Q944809 Banco de Dados
Os pacotes PL/SQL são criados com duas partes: especificação do pacote e corpo do pacote. A especificação do pacote é a interface com as aplicações, onde se declaram as variáveis, as constantes, as exceções, os cursores, os subprogramas e os tipos públicos disponíveis para uso. Pode também incluir diretivas para o compilador, conhecidas como
Alternativas
Q943676 Banco de Dados

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 é

Alternativas
Q921057 Banco de Dados

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

Alternativas
Q918242 Banco de Dados
Para criar uma consulta que pesquise na tabela Trabalhadores de um banco de dados aberto e em condições ideais todos os nomes e telefones de trabalhadores cujos nomes sejam Sofia ou Sophia, um Analista de Sistemas deve utilizar a instrução PL/SQL SELECT nome, telefone FROM Trabalhadores WHERE
Alternativas
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
121: A
122: E
123: C
124: C
125: D
126: D
127: E
128: C
129: E
130: D
131: A
132: E
133: C
134: D
135: A
136: E
137: C
138: B
139: D
140: A