PL/SQL Mock Test



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.

Questions and Answers

PL/SQL Mock Test I

Answer : D

Answer : B

Q 9 - Which of the following is not a PL/SQL unit?

A - Table

B - Type

C - Trigger

D - Package

Answer : A

Q 14 - What value will be assigned to the variable declared as below −

counter binary_integer;

A - 0

B - 1

C - NULL

D - None of the above.

Answer : C

Q 15 - Consider the following code −

DECLARE
   -- Global variables 
   num number := 95; 
BEGIN 
   dbms_output.put_line('num: ' || num1);
   DECLARE 
      -- Local variables
      num number := 195; 
     BEGIN 
      dbms_output.put_line('num: ' || num1);
     END; 
END;

What will happen when the code is executed?

A - It won’t execute, it has syntax error

B - It will print

     num: 95

     num: 195

C - It will print

     num: 95

     num: 95

D - It will print

     num: 195

     num: 195

Answer : B

Q 18 - What will be the output of the following code snippet?

DECLARE
   a number (2) := 21;
   b number (2) := 10;
BEGIN
   
   IF ( a <= b ) THEN
      dbms_output.put_line(a);
   END IF;

   IF ( b >= a ) THEN
      dbms_output.put_line(a);
   END IF;
   
   IF ( a <> b ) THEN
      dbms_output.put_line(b);
   
   END IF;

END;

A - 2

B - 21

C - 10

D - 21, 10

Answer : C

Q 19 - What would be printed when the following code is executed?

DECLARE
      x   NUMBER;
    BEGIN
      
       x := 5;
       x := 10;
       dbms_output.put_line(-x);
       dbms_output.put_line(+x);
       x := -10;
       dbms_output.put_line(-x);
       dbms_output.put_line(+x);
   END;

A - -10

     10

     10

     -10

B - 10

     -10

     10

     -10

C - -10

     +10

     +10

     -10

D - 10

     -10

     -10

     10

Answer : A

Q 20 - To get the server output result and display it into the screen, you need to write −

A - set serveroutput on

B - set server output on

C - set dbmsoutput on

D - set dbms output on

Answer : A

Q 22 - Which of the following is true about the following code snippet?

DECLARE
   a number(3) := 100;
BEGIN
   IF (a = 50 ) THEN
      dbms_output.put_line('Value of a is 10' );
   ELSEIF ( a = 75 ) THEN
      dbms_output.put_line('Value of a is 20' );
   ELSE
       dbms_output.put_line('None of the values is matching');
   END IF;
   dbms_output.put_line('Exact value of a is: '|| a ); 
END;

A - It has syntax error.

B - It will print 'None of the values is matching'.

C - It will print

None of the values is matching

Exact value of a is: 100

D - None of the above.

Answer : A

Explanation

the ELSIF statement is wrongly written as ELSEIF

Q 23 - Which of the following is true about the following code snippet?

DECLARE
   a number(3) := 100;
BEGIN
   IF (a = 50 ) THEN
      dbms_output.put_line('Value of a is 10' );
   ELSIF ( a = 75 )
      dbms_output.put_line('Value of a is 20' );
   ELSE
       dbms_output.put_line('None of the values is matching');
   END IF;
   dbms_output.put_line('Exact value of a is: '|| a ); 
END;

A - It has syntax error.

B - It will print 'None of the values is matching'.

C - It will print

None of the values is matching

Exact value of a is: 100

D - None of the above.

Answer : A

Explanation

it has the THEN keyword missing in the ELSIF statement

Q 24 - Which of the following is true about the following PL/SQL CASE statement syntax?

CASE selector
    WHEN 'value1' THEN S1;
    WHEN 'value2' THEN S2;
    WHEN 'value3' THEN S3;
    ...
    ELSE Sn;  -- default case
END CASE;

A - It is wrongly written.

B - It is perfectly written.

C - It is you can specify the literal NULL for all the S expressions and the default Sn.

D - All the expressions like the selector, the value and the returns values, need not be of the same data type.

Answer : B

Q 25 - What is the output of the following code?

DECLARE
   grade char(1) := 'B';
BEGIN
   case 
      when grade = 'A' then dbms_output.put_line('Excellent');
      when grade = 'B' then dbms_output.put_line('Very good');
      when grade = 'C' then dbms_output.put_line('Well done');
      when grade = 'D' then dbms_output.put_line('You passed');
      when grade = 'F' then dbms_output.put_line('Better try again');
      else dbms_output.put_line('No such grade');
   end case;
END;

A - It has syntax error, so there will not be any output.

B - B

C - Very good

D - No such grade

Answer : C

Answer Sheet

Question Number Answer Key
1 C
2 D
3 D
4 B
5 D
6 A
7 B
8 D
9 A
10 D
11 D
12 A
13 B
14 C
15 B
16 D
17 B
18 C
19 A
20 A
21 D
22 A
23 A
24 B
25 C
plsql_questions_answers.htm
Advertisements