0% found this document useful (0 votes)
1K views8 pages

PLSQL Mock Test III

Plsql

Uploaded by

Billie
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views8 pages

PLSQL Mock Test III

Plsql

Uploaded by

Billie
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

PL/SQL MOCK TEST

http://www.tutorialspoint.com Copyright © tutorialspoint.com

This section presents you various set of Mock Tests related to PL/SQL. You can download these
sample mock tests at your local machine and solve offline at your convenience. Every mock test is
supplied with a mock test key to let you verify the final score and grade yourself.

PL/SQL MOCK TEST III

Q 1 - Which of the following is the correct syntax for creating an explicit cursor?

A - CURSOR cursor_name IS select_statement;

B - CREATE CURSOR cursor_name IS select_statement;

C - CREATE CURSOR cursor_name AS select_statement;

D - CURSOR cursor_name AS select_statement;

Q 2 - Which of the following code will open a cursor named cur_employee?

A - OPEN cur_employee;

B - OPEN CURSOR cur_employee;

C - FETCH cur_employee;

D - FETCH CURSOR cur_employee;

Q 3 - The following code tries to fetch some information from all the rows in a table
named customers for use in a PL/SQL block. What is wrong in the following code?

DECLARE
c_id customers.id%type;
c_name customers.name%type;
c_addr customers.address%type;
CURSOR c_customers is
SELECT id, name, address FROM customers;
BEGIN
LOOP
FETCH c_customers into c_id, c_name, c_addr;
EXIT WHEN c_customers%notfound;
dbms_output.put_line(c_id || ' ' || c_name || ' ' || c_addr);
END LOOP;
CLOSE c_customers;
END;
A - It need not use a cursor.

B - The cursor is not opened.

C - It will not print information from all the rows.

D - There is nothing wrong in the code.

Q 4 - Which of the following is not true about PL/SQL records?

A - A PL/SQL record is a data structure that can hold data items of different kinds.

B - Records consist of different fields, similar to a row of a database table.

C - You can create table-based and cursor-based records by using the %ROWTYPE attribute.

D - None of the above.

Q 5 - Which of the following is not among the types of PL/SQL records?

A - Table-based

B - View-based

C - Cursor-based records

D - User-defined records

Q 6 - Which of the following code correctly create a record named book with two field
title and author?

A - TYPE book IS RECORD

(title varchar(50),
author varchar(50),
);

B - RECORD book

(title varchar(50),
author varchar(50),
);

C - CREATE RECORD book

(title varchar(50),
author varchar(50),
);

D - CREATE TYPE book

(title varchar(50),
author varchar(50),
);

Q 7 - Which of the following code will successfully declare an exception named


emp_exception1 in a PL/SQL block?
A - EXCEPTION emp_exception1;

B - emp_exception1 EXCEPTION;

C - CREATE EXCEPTION emp_exception1;

D - CREATE emp_exception1 AS EXCEPTION;

Q 8 - Consider the exception declared as −

emp_exception1 EXCEPTION;

Which of the following statement will correctly call the exception in a PL/SQL block?

A - IF c_id <= 0 THEN ex_invalid_id;

B - IF c_id <= 0 THEN CALL ex_invalid_id;

C - IF c_id <= 0 THEN RAISE ex_invalid_id;

D - IF c_id <= 0 THEN EXCEPTION ex_invalid_id;

Q 9 - The pre-defined exception CASE_NOT_FOUND is raised when

A - None of the choices in the WHEN clauses of a CASE statement is selected, and there is no
ELSE clause.

B - PL/SQL has an internal problem.

C - A cursor fetches value in a variable having incompatible data type.

D - None of the above.

Q 10 - The pre-defined exception NO_DATA_FOUND is raised when

A - A null object is automatically assigned a value.

B - A SELECT INTO statement returns no rows.

C - PL/SQL has an internal problem.

D - PL/SQL ran out of memory or memory was corrupted.

Q 11 - The pre-defined exception TOO_MANY_ROWS is raised when

A - PL/SQL ran out of memory or memory was corrupted.

B - A cursor fetches value in a variable having incompatible data type.

C - SELECT INTO statement returns more than one row.

D - None of the above.

Q 12 - Which of the following is not true about PL/SQL triggers?

A - Triggers are stored programs.


B - They are automatically executed or fired when some events occur.

C - Triggers could be defined on the table, view, schema, or database with which the event is
associated.

D - None of the above.

Q 13 - Triggers are written to be executed in response to any of the following events


A - A database manipulation DML statement DELETE, INSERT, orUPDATE.

B - A database definition DDL statement CREATE, ALTER, orDROP.

C - A database operation SERVERERROR, LOGON, LOGOFF, STARTUP, orSHUTDOWN.

D - All of the above.

Q 14 - Which of the following is not a benefit of a database trigger?

A - Enforcing referential integrity

B - Event logging and storing information on table access

C - Allowing invalid transactions

D - Generating some derived column values automatically

Q 15 - Observe the syntax given below −

CREATE [OR REPLACE ] TRIGGER trigger_name


{BEFORE | AFTER | INSTEAD OF }
{INSERT [OR] | UPDATE [OR] | DELETE}
[OF col_name]
ON table_name
[REFERENCING OLD AS o NEW AS n]
[FOR EACH ROW]
WHEN (condition)
DECLARE
Declaration-statements
BEGIN
Executable-statements
EXCEPTION
Exception-handling-statements
END;

The INSTEAD OF clause is used for creating trigger on a −

A - View

B - Cursor

C - Table

D - Index

Q 16 - Observe the syntax given below −

CREATE [OR REPLACE ] TRIGGER trigger_name


{BEFORE | AFTER | INSTEAD OF }
{INSERT [OR] | UPDATE [OR] | DELETE}
[OF col_name]
ON table_name
[REFERENCING OLD AS o NEW AS n]
[FOR EACH ROW]
WHEN (condition)
DECLARE
Declaration-statements
BEGIN
Executable-statements
EXCEPTION
Exception-handling-statements
END;

The {INSERT [OR] | UPDATE [OR] | DELETE} clause specifies a

A - DDL operation.

B - DML operation.

C - None of the above.

D - Both of the above.

Q 17 - Observe the syntax given below −

CREATE [OR REPLACE ] TRIGGER trigger_name


{BEFORE | AFTER | INSTEAD OF }
{INSERT [OR] | UPDATE [OR] | DELETE}
[OF col_name]
ON table_name
[REFERENCING OLD AS o NEW AS n]
[FOR EACH ROW]
WHEN (condition)
DECLARE
Declaration-statements
BEGIN
Executable-statements
EXCEPTION
Exception-handling-statements
END;

The optional [FOR EACH ROW] clause specifies

A - A table with index.

B - A table with primary key.

C - A row level trigger.

D - A table with a unique key.

Q 18 - Observe the syntax given below −

CREATE [OR REPLACE ] TRIGGER trigger_name


{BEFORE | AFTER | INSTEAD OF }
{INSERT [OR] | UPDATE [OR] | DELETE}
[OF col_name]
ON table_name
[REFERENCING OLD AS o NEW AS n]
[FOR EACH ROW]
WHEN (condition)
DECLARE
Declaration-statements
BEGIN
Executable-statements
EXCEPTION
Exception-handling-statements
END;

Which of the following holds true for the WHEN clause?

A - This provides a condition for rows for which the trigger would fire and this clause is valid only
for row level triggers.

B - This provides a condition for rows for which the trigger would fire and this clause is valid only
for table level triggers.

C - This provides a condition for rows for which the trigger would fire and this clause is valid only
for view based triggers.

D - All of the above.

Q 19 - Observe the syntax given below −

CREATE [OR REPLACE ] TRIGGER trigger_name


{BEFORE | AFTER | INSTEAD OF }
{INSERT [OR] | UPDATE [OR] | DELETE}
[OF col_name]
ON table_name
[REFERENCING OLD AS o NEW AS n]
[FOR EACH ROW]
WHEN (condition)
DECLARE
Declaration-statements
BEGIN
Executable-statements
EXCEPTION
Exception-handling-statements
END;

Which of the following holds true for the [REFERENCING OLD AS o NEW AS n] clause?

A - This allows you to refer new and old values for various DML statements, like INSERT, UPDATE,
and DELETE.

B - OLD and NEW references are not available for table level triggers.

C - You can use them for record level triggers.

D - All of the above.

Q 20 - Which of the following is true for querying a table in the same trigger?

A - The AFTER keyword should be used, because triggers can query the table or change it again
only after the initial changes are applied and the table is back in a consistent state.

B - The BEFORE keyword should be used, because triggers can query the table or change it again
only after the initial changes are applied and the table is back in a consistent state.

C - None of the points in a. and b.

D - Both of the points in a. and b.

Q 21 - All objects placed in a package specification are called


A - Public objects.

B - Private objects.

C - None of the above.

D - Both of the above.

Q 22 - Any subprogram not in the package specification but coded in the package body
is called a

A - Public object.

B - Private object.

C - None of the above.

D - Both of the above.

Q 23 - Which of the following is not true about PL/SQL packages?

A - PL/SQL packages are schema objects that groups logically related PL/SQL types, variables and
subprograms.

B - A package has two parts: Package specification and Package body or definition.

C - Both the parts are mandatory.

D - None of the above.

Q 24 - Which of the following is not true about PL/SQL package specifications?

A - The specification is the interface to the package.

B - It declares the types, variables, constants, exceptions, cursors, and subprograms that can be
referenced from outside the package.

C - It contains all information about the content of the package and the code for the
subprograms.

D - None of the above.

Q 25 - Which of the following is true about PL/SQL package body?

A - The package body has the codes for various methods declared in the package specification
and other private declarations.

B - It is created using the CREATE PACKAGE Statement.

C - The codes, methods and types declared in package body are not hidden from code outside
the package.

D - All of the above.

ANSWER SHEET

Question Number Answer Key


1 A

2 A

3 B

4 D

5 B

6 A

7 B

8 C

9 A

10 B

11 C

12 D

13 D

14 C

15 A

16 B

17 C

18 A

19 D

20 A

21 A

22 B

23 D

24 C

25 A

Loading [MathJax]/jax/output/HTML-CSS/jax.js

You might also like