Procura

Banco de dadosPl-sql


EXERCÍCIOS - Exercício 65

  • (FUNCAB 2012)

A abaixo, escrita em PL/SQL, contém uma série de erros referentes ao uso das funções NEXTVALe CURRVAL, EXCETO: CREATE TABLE func_temp AS SELECT func_id, nome, sobrenome FROM func; CREATE TABLE func_temp2 AS SELECT func_id, nome, sobrenome FROM func; CREATE TABLE func_temp2 AS SELECT func_id, nome, sobrenome FROM func; DECLARE sequencial NUMBER; BEGIN sequencial := func_seq.NEXTVAL; DBMS_OUTPUT.PUT_LINE ('Valor Sequencial Inicial: ' || TO_CHAR(sequencial)); INSERT INTO func_temp VALUES (func_seq.NEXTVAL, 'Carolina', 'Novaes'); -- Insere em func_temp2 o mesmo sequencial inserido em func_temp INSERT INTO func_temp2 VALUES (func_seq.NEXTVAL, 'Antonio', 'Novaes'); DELETE FROM func_temp2 WHERE func_id = func_seq.CURRVAL; UPDATE func_temp SET func_id = func_seq.NEXTVAL WHERE nome = 'Carolina'AND sobrenome = 'Novaes'; sequencial := func_seq.CURRVAL; DBMS_OUTPUT.PUT_LINE ('Valor Sequencial Final: ' || TO_CHAR(sequencial)); END; /


A) func_seq.NEXTVAL dever ser atribuído à variável sequencial através do comando SELECT func_seq.NEXTVAL INTO sequencial FROM dual.

B) para inserir o mesmo sequencial de func_temp em func_temp2 deve ser utilizada a função CURRVAL: INSERT INTO func_temp2 VALUES (func_seq.CURRVAL, 'Carolina', 'Novaes').

C) a função CURRVAL não pode ser utilizada na cláusula WHERE do comando DELETE.

D) a função NEXTVAL não pode ser utilizada na cláusula SETdo comandoUPDATE.

E) func_seq.CURRVAL deve ser atribuído à variável sequencial através do comando SELECT func_seq.CURRVAL INTO sequencial FROM dual.


Próximo:
EXERCÍCIOS - Exercício 66

Vamos para o Anterior: Exercício 64

Tente Este: Exercício 58

Primeiro: Exercício 1

VOLTAR ao índice: Banco de dados






Cadastre-se e ganhe o primeiro capítulo do livro.
+
((ts_substr_ig=0.00ms))((ts_substr_id=2.08ms))((ts_substr_m2=0.00ms))((ts_substr_p2=0.50ms))((ts_substr_c=1.06ms))((ts_substr_im=0.76ms))
((total= 4ms))