0% found this document useful (0 votes)
3K views21 pages

Mid Term Exam Semester 1 Part 1

This document contains a 29 question multiple choice exam on PL/SQL fundamentals. The exam covers topics such as the basic structure of PL/SQL blocks, variable declaration, data types, explicit data type conversions, and exception handling.

Uploaded by

Ovidiu Prundeanu
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3K views21 pages

Mid Term Exam Semester 1 Part 1

This document contains a 29 question multiple choice exam on PL/SQL fundamentals. The exam covers topics such as the basic structure of PL/SQL blocks, variable declaration, data types, explicit data type conversions, and exception handling.

Uploaded by

Ovidiu Prundeanu
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 21

The Mid Term Exam for Semester 1 is presented to you as two exams.

This is Part
I of the Mid Term Exam for Semester 1.
Section 1
1. The P in PL/SQL stands for: Mark for Review
(1) Points

Processing

Procedural (*)

Primary

Proprietary

Correct Correct

2. Which of the following statements about PL/SQL and SQL i


s true? Mark for Review
(1) Points

PL/SQL and SQL are both ANSI-compliant.

PL/SQL and SQL can be used with many types of databases, including Oracl
e.

PL/SQL and SQL are both Oracle proprietary programming languages.

PL/SQL allows basic program logic and control flow to be combined with S
QL statements. (*)

Correct Correct

3. A program which specifies a list of operations to be per


formed sequentially to achieve the desired result can be called: Mark for
Review
(1) Points

declarative

nondeclarative

procedural (*)
low level

Correct Correct

4. Using Oracle Application Express, you can create Web app


lications that include PL/SQL. True or False? Mark for Review
(1) Points

True (*)

False

Correct Correct

5. Comparing PL/SQL with other languages such as C and Java


, which of the following statements is true? Mark for Review
(1) Points

PL/SQL is harder to learn

PL/SQL is easier to learn and more efficient (*)

PL/SQL is easier to learn but less efficient

PL/SQL is easier to learn and does not require an Oracle database or too
l

Correct Correct

6. Which of the following statements about exception handli


ng in PL/SQL is false? Mark for Review
(1) Points

You can prepare for database exceptions by creating exception handlers.

You can prepare for application exceptions by creating exception handler


s.

Exception handling code tells your program what to do when an error is e


ncountered.
Exception handling code can be grouped together in a PL/SQL block.

None of the above (*)

Correct Correct

7. What kind of block is defined by the following PL/SQL co


de?
BEGIN
DBMS_OUTPUT.PUT_LINE('My first quiz');
END;
Mark for Review
(1) Points

procedure

subroutine

function

anonymous (*)

Correct Correct

8. What is the purpose of using DBMS_OUTPUT.PUT_LINE in a P


L/SQL block? Mark for Review
(1) Points

To perform conditional tests

To allow a set of statements to be executed repeatedly

To display results to check if our code is working correctly (*)

To store new rows in the database

Correct Correct

9. Given below are the parts of a PL/SQL block:


1. END;
2. EXCEPTION
3. DECLARE
4. BEGIN
Arrange the parts in order.
Mark for Review
(1) Points

2,1,4,3

3,4,2,1 (*)

3,2,4,1

4,3,2,1

Correct Correct

10. Which component of Oracle Application Express is used to


enter and run SQL statements and PL/SQL blocks? Mark for Review
(1) Points

Application Builder

SQL Workshop (*)

Utilities

Object Browser

Correct Correct
Section 1
11. Which keywords must be included in every PL/SQL block? (
Choose two.) Mark for Review
(1) Points
(Choose all correct answers)

DECLARE

END; (*)
EXCEPTION

BEGIN (*)

DBMS_OUTPUT.PUT_LINE

Correct Correct

12. In which part of the PL/SQL block are declarations of va


riables defined? Mark for Review
(1) Points

Executable

Exception

Declarative (*)

Definition

Correct Correct

13. Errors are handled in the Exception part of the PL/SQL b


lock. True or False? Mark for Review
(1) Points

True (*)

False

Correct Correct

Section 2
14. Evaluate the following declaration. Determine whether or
not it is legal.
DECLARE
maxsalary NUMBER(7) = 5000;
Mark for Review
(1) Points

Correct.

Not correct. (*)

Correct Correct

15. Variables can be used in the following ways in a PL/SQL


block. (Choose two.) Mark for Review
(1) Points
(Choose all correct answers)

To store data values. (*)

To rename tables and columns.

To refer to a single data value several times. (*)

To comment code.

Correct Correct

16. When a variable is defined using the NOT NULL keywords,


the variable must contain a value. True or False? Mark for Review
(1) Points

True (*)

False

Correct Correct

17. Identify which of the following assignment statements ar


e valid. (Choose three.) Mark for Review
(1) Points
(Choose all correct answers)

v_last_name := Chandra;
v_blackout_date := '31-DEC-2006'; (*)

v_population := 333444; (*)

v_music_type := 'ROCK'; (*)

Correct Correct

18. Is the following variable declaration correct or not ?


DECLARE
display_qty CONSTANT NUMBER;
Mark for Review
(1) Points

Correct.

Not correct. (*)

Correct Correct

19. Which of the following are disadvantages of implicit dat


a type conversions? (Choose two.) Mark for Review
(1) Points
(Choose all correct answers)

The code is harder to read and understand (*)

You cannot store alphabetic characters in a variable of data type NUMBER

If Oracle changes the conversion rules in the future, your code may not
work any more (*)

Oracle cannot implicitly convert a number value to a character string

Incorrect Incorrect. Refer to Section 2.

20. Examine the following code:


1 DECLARE
2 x NUMBER;
3 BEGIN
4 x:= '300';
5 END;
After line 4, what is the value of x?
Mark for Review
(1) Points

'300'

300 (*)

NULL

Incorrect Incorrect. Refer to Section 2.


Section 2
21. If today's date is 14th June 2007, which statement will
correctly convert today's date to the value: June 14, 2007 ? Mark for Review
(1) Points

TO_CHAR(sysdate)

TO_DATE(sysdate)

TO_DATE(sysdate,'Month DD, YYYY')

TO_CHAR(sysdate, 'Month DD, YYYY') (*)

Incorrect Incorrect. Refer to Section 2.

22. The DECODE function is available in PL/SQL procedural st


atements. True or False? Mark for Review
(1) Points

True

False (*)

Correct Correct

23. When you use a function to convert data types in a PL/SQ


L program, it is called ______ conversion. Mark for Review
(1) Points

Explicit (*)

Implicit

TO_CHAR

Correct Correct

24. What is the output when the following program is execute


d?
set serveroutput on
DECLARE
a VARCHAR2(10) := '333';
b VARCHAR2(10) := '444';
c PLS_INTEGER;
d VARCHAR2(10);
BEGIN
c := TO_NUMBER(a) + TO_NUMBER(b);
d := a || b;
DBMS_OUTPUT.PUT_LINE(c);
DBMS_OUTPUT.PUT_LINE(d);
END;
Mark for Review
(1) Points

Nothing. The code will result in an error.

c=777 and d=333444 (*)

c=777 and d=777

c=333444 and d=777

Correct Correct

25. TO_NUMBER, TO_CHAR, and TO_DATE are all examples of:


Mark for Review
(1) Points

Implicit conversion functions


Explicit conversion functions (*)

Character functions

Operators

Correct Correct

26. Examine the following code. What is the final value of V


_MYVAR ?
DECLARE
v_myvar NUMBER;
BEGIN
v_myvar := 1 + 2 * 3;
v_myvar := v_myvar * 2;
END;
Mark for Review
(1) Points

81

49

14 (*)

18

Correct Correct

27. 1. Null
2. False
3. True
4. 0
Which of the above can be assigned to a Boolean variable?
Mark for Review
(1) Points

2 and 3

2, 3 and 4

1, 2 and 3 (*)
1, 2, 3 and 4

Correct Correct

28. You need to declare a variable to hold a value which has


been read from the SALARY column of the EMPLOYEES table. Which of the following
is an advantage of declaring the variable as: employees.salary%TYPE ? Mark for
Review
(1) Points

It is shorter than coding NUMBER(8,2)

If the SALARY column is ALTERed later, the PL/SQL code need not be chang
ed. (*)

It executes much faster than using NUMBER(8,2)

It allows the software to perform implicit data type conversions.

Incorrect Incorrect. Refer to Section 2.

29. If you are using the %TYPE attribute, you can avoid hard
coding the: Mark for Review
(1) Points

Data type (*)

Table name

Column name

Constraint

Correct Correct

30. What is the data type of the variable V_DEPT_TABLE in th


e following declaration?
DECLARE
TYPE dept_table_type IS TABLE OF departments%ROWTYPE INDEX BY PLS_INTEGER; v_dep
t_table dept_table_type; ...
Mark for Review
(1) Points

Scalar

Composite (*)

LOB

Correct Correct
Section 2
31. A movie is an example of which category of data type?
Mark for Review
(1) Points

Scalar

Composite

Reference

LOB (*)

Correct Correct

32. A collection is a composite data type. True or False?


Mark for Review
(1) Points

True (*)

False

Correct Correct

33. Delimiters are _____ that have special meaning to the Or


acle database. Mark for Review
(1) Points

identifiers
variables

symbols (*)

Correct Correct

34. Which statements about lexical units are true? (Choose t


wo.) Mark for Review
(1) Points
(Choose all correct answers)

They are named objects stored in the database

They are the building blocks of every PL/SQL program (*)

They are optional but can make a PL/SQL block execute faster

They are sequences of characters including letters, digits, tabs, return


s and symbols (*)

Incorrect Incorrect. Refer to Section 2.

35. Reserved words can be used as identifiers. True or False


? Mark for Review
(1) Points

True

False (*)

Correct Correct

36. When an exception occurs within a PL/SQL block, the rema


ining statements in the executable section of the block are skipped. True or Fal
se? Mark for Review
(1) Points

True (*)

False
Correct Correct

37. When nested blocks are used, which blocks can or must be
labeled? Mark for Review
(1) Points

The inner block must be labeled, the outer block can be labeled.

Both blocks must be labeled

Nested blocks cannot be labeled

The outer block must be labeled if it is to be referred to in the inner


block. (*)

Correct Correct

38. What will be displayed when the following code is execut


ed?
DECLARE
x VARCHAR2(6) := 'Chang';
BEGIN
DECLARE
x VARCHAR2(12) := 'Susan';
BEGIN
x := x || x;
END;
DBMS_OUTPUT.PUT_LINE(x);
END;
Mark for Review
(1) Points

Susan

Chang (*)

ChangChang

SusanChang

The code will fail with an error


Incorrect Incorrect. Refer to Section 2.

39. An exception occurs within the inner block of two nested


blocks. The inner block does not have an EXCEPTION section. What always happens
? Mark for Review
(1) Points

Both blocks fail and an error message is displayed by the calling enviro
nment

The exception is propagated to the outer block (*)

Oracle automatically tries to re-execute the inner block

The user's database session is automatically disconnected

Incorrect Incorrect. Refer to Section 2.

40. What will be displayed when the following code is execut


ed?
DECLARE
varA NUMBER := 12;
BEGIN
DECLARE
varB NUMBER := 8;
BEGIN
varA := varA + varB;
END;
DBMS_OUTPUT.PUT_LINE(varB);
END;
Mark for Review
(1) Points

12

Nothing, the block will fail with an error (*)

20

VarB
Incorrect Incorrect. Refer to Section 2.
Section 3
41. A PL/SQL block includes the following statement:
SELECT last_name INTO v_last_name
FROM employees
WHERE employee_id=100;
What is the value of SQL%ISOPEN immediately after the SELECT statement is execut
ed?
Mark for Review
(1) Points

True

False (*)

Null

Error. That attribute does not apply for implicit cursors.

Incorrect Incorrect. Refer to Section 3.

42. There are no employees in Department 77. What will happe


n when the following block is executed?
BEGIN
DELETE FROM employees
WHERE department_id=77;
DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT)
END;
Mark for Review
(1) Points

A NO_DATA_FOUND exception is raised.

A NULL is displayed.

A zero (0) is displayed. (*)

An exception is raised because the block does not contain a COMMIT state
ment.

Correct Correct
43. Which is the correct way to erase one row from a table?
Mark for Review
(1) Points

REMOVE employee_id=100
FROM employees;

DROP TABLE employees


WHERE employee_id=100;

TRUNCATE employees
WHERE employee_id=100;

DELETE FROM employees


WHERE employee_id=100;
(*)

Correct Correct

44. Which one of these SQL statements can be directly includ


ed in a PL/SQL executable block? Mark for Review
(1) Points

DELETE FROM employees


WHERE department_id=60;
(*)

SELECT salary FROM employees


WHERE department_id=60;

CREATE TABLE new_emps (last_name VARCHAR2(10), first_name VARCHAR2(10));

DROP TABLE locations;

Incorrect Incorrect. Refer to Section 3.

45. Which rows will be deleted from the EMPLOYEES table when
the following code is executed?
DECLARE
salary employees.salary%TYPE := 12000;
BEGIN
DELETE FROM employees
WHERE salary > salary;
END;
Mark for Review
(1) Points

All rows whose SALARY column value is greater than 12000.

All rows in the table.

No rows. (*)

All rows whose SALARY column value is equal to 12000.

Incorrect Incorrect. Refer to Section 3.

46. Which one of these SQL statements can be directly includ


ed in a PL/SQL executable block? Mark for Review
(1) Points

SELECT last_name FROM employees


WHERE employee_id=100;

DESCRIBE employees;

UPDATE employees
SET last_name='Smith';
(*)

DROP TABLE employees;

Incorrect Incorrect. Refer to Section 3.

47. A variable is declared as:


DECLARE
v_holdit employees.last_name%TYPE;
BEGIN ...
Which of the following is a correct use of the INTO clause?
Mark for Review
(1) Points

SELECT *
INTO v_holdit
FROM employees;

SELECT last_name
INTO v_holdit
FROM employees;

SELECT last_name
INTO v_holdit
FROM employees
WHERE employee_id=100;
(*)

SELECT salary
INTO v_holdit
FROM employees
WHERE employee_id=100;

Correct Correct

48. A variable is declared as:


DECLARE
v_salary employees.salary%TYPE;
BEGIN
Which of the following is a correct use of the INTO clause?
Mark for Review
(1) Points

SELECT salary
INTO v_salary
FROM employees
WHERE employee_id=100;
(*)

SELECT v_salary
INTO salary
FROM employees
WHERE employee_id=100;
SELECT salary
FROM employees
INTO v_salary;

SELECT salary
FROM employees
WHERE employee_id=100
INTO v_salary;

Correct Correct

49. How many DML statements can be included in a single tran


saction? Mark for Review
(1) Points

Only one

None. A transaction cannot include DML statements.

A maximum of four DML statements

As many as needed (*)

Correct Correct

50. The following anonymous block of code is run:


BEGIN
INSERT INTO countries (id, name)
VALUES ('XA', 'Xanadu');
INSERT INTO countries (id, name)
VALUES ('NV','Neverland');
COMMIT;
COMMIT;
ROLLBACK;
END;
What happens when the block of code finishes?
Mark for Review
(1) Points

You have nothing new; the last ROLLBACK undid the INSERTs.
You have the rows added twice; there are four new rows.

You have the two new rows added. (*)

You get an error; you cannot COMMIT twice in a row.

Incorrect Incorrect. Refer to Section 3.

You might also like