Questões de Concurso
Comentadas sobre pl-sql em banco de dados
Foram encontradas 300 questões
CASE teste
X ‘A’ . . .
X ‘B’ . . .
ELSE . . .
END CASE
O valor correto de X para completar o comando CASE é:
Para exibir o número do funcionário, a data de admissão e o número de meses entre a data de admissão e a data atual, utiliza- se a instrução PL/SQL
...<< abc >> ....
No trecho, abc é um
SELECT empno,
enome,
funcao,
salario,
LAG(salario, 1, 0) OVER (ORDER BY salario) AS XX
FROM empregado;
Nesta consulta, XX irá conter:
drop table teste;
create table teste (
val NUMBER,
descricao varchar2(15)
);
insert all
into teste
into teste
SELECT level,
SUBSTR(dbms_random.string(‘U’,10),1,10)
from dual connect by level < 10;
commit;
select distinct length(descricao) from teste
CREATE TABLE orders (order_id NUMBER PRIMARY KEY, line_items_count NUMBER DEFAULT 0 ); CREATE TABLE lineitems (order_id REFERENCES orders, seq_no NUMBER, CONSTRAINT lineitems PRIMARY KEY(order_id,seq_no) );
Foi criada, relacionada às tabelas, a seguinte trigger, colocada em execução:
CREATE OR REPLACE TRIGGER lineitems_trigger AFTER INSERT OR UPDATE OR DELETE ON lineitems FOR EACH ROW BEGIN IF (INSERTING OR UPDATING) THEN UPDATE orders SET line_items_count = NVL(line_items_count,0)+1 WHERE order_id = :new.order_id; END IF; IF (DELETING OR UPDATING) THEN
UPDATE orders SET line_items_count = NVL(line_items_count,0)-1 WHERE order_id = :old.order_id; END IF; END; /
Em seguida, foram executadas as instruções abaixo, nesta ordem:
INSERT INTO orders (order_id) VALUES (78); INSERT INTO orders(order_id) VALUES (92); INSERT INTO lineitems (order_id, seq_no) VALUES (78,1); INSERT INTO lineitems (order_id, seq_no) VALUES (78,2); SELECT * FROM orders;
Considere:
I. Ao executar a instrução INSERT INTO orders (order_id) VALUES (78); a trigger incrementou o valor contido no campo line_items_count passando de 0 para 1.
II. Ao executar a instrução INSERT INTO lineitems (order_id, seq_no) VALUES (78,1); a trigger incrementou o valor contido no campo line_items_count da tabela orders passando de 0 para 1.
III. Ao executar a instrução INSERT INTO lineitems (order_id, seq_no) VALUES (78,2); a trigger incrementou o valor contido no campo line_items_count da tabela orders passando de 1 para 2.
IV. A instrução SELECT * FROM orders; mostrará no campo line_items_count da linha cujo order_id é 78 o valor 3.
Está correto o que consta APENAS em
id – inteiro, não nulo, chave primária.
nome – cadeia de caracteres, não nulo.
cargo – cadeia de caracteres, não nulo.
salario – número real, não nulo.
Utilizando a PL/SQL, para exibir o nome do funcionário, o salário, e o salário aumentado (reajustado) em 30%, arredondado com 0 casas decimais e com legenda de coluna Salário Reajustado, utiliza-se a instrução
select nome, cargo, salario, comissao, (salario*12)+NVL(comissao,2) from funcionario;
A função NVL foi usada para
I. A linguagem PL/SQL é uma linguagem de programação fortemente baseada na linguagem C. Por essa razão, utiliza ODBC para se conectar ao SGBD.
II. A linguagem PL/SQL somente não é considerada uma linguagem de programação completa porque não possui mecanismo de tratamento de exceções.
III. A menor e a maior estrutura de armazenamento Oracle 10g são, respectivamente, Blocos do Sistema Operacional e Tablespaces.
IV. Enquanto uma instância Oracle é constituída de estruturas de memória e processos, um banco de dados Oracle é composto de arquivos físicos.
verifica-se que somente