PL/SQL Multiple choice Questions & Answers

Posted On:January 28, 2019, Posted By: Latest Interview Questions, Views: 30217, Rating :

Best PL/SQL Objective Questions and Answers

Dear Readers, Welcome to PL/SQL Objective Questions have been designed specially to get you acquainted with the nature of questions you may encounter during your Job interview for the subject of PL/SQL MCQs. These objective type PL/SQL questions are very important for campus placement test and job interviews. As per my experience good interviewers hardly plan to ask any particular question during your Job interview and these model questions are asked in the online technical test and interview of many IT companies.

1. Which of the following statements is true about implicit cursors?

A. Implicit cursors are used for SQL statements that are not named.

B. Developers should use implicit cursors with great care.

C. Implicit cursors are used in cursor for loops to handle data processing.

D. Implicit cursors are no longer a feature in Oracle.

Ans: A

MCQs on PL/SQL

2. Which of the following is not a feature of a cursor FOR loop?

A. Record type declaration.

B. Opening and parsing of SQL statements.

C. Fetches records from cursor.

D. Requires exit condition to be defined.

Ans:B

 

3. A developer would like to use referential datatype declaration on a variable. The variable name is EMPLOYEE_LASTNAME, and the corresponding table and column is EMPLOYEE, and LNAME, respectively. How would the developer define this variable using referential datatypes?

A. Use employee.lname%type.

B. Use employee.lname%rowtype.

C. Look up datatype for EMPLOYEE column on LASTNAME table and use that.

D. Declare it to be type LONG.

Ans: A

 

4. Which three of the following are implicit cursor attributes?

A. %found

B. %too_many_rows

C. %notfound

D. %rowcount

E. %rowtype

Ans:C

 

5. If left out, which of the following would cause an infinite loop to occur in a simple loop?

A. LOOP

B. END LOOP

C. IF-THEN

D. EXIT

Ans:B

 

6. Which line in the following statement will produce an error?

A. cursor action_cursor is

B. select name, rate, action

C. into action_record

D. from action_table;

E. There are no errors in this statement.

Ans:C

 

7. The command used to open a CURSOR FOR loop is

A. open

B. fetch

C. parse

D. None, cursor for loops handle cursor opening implicitly.

Ans:D

 

8. What happens when rows are found using a FETCH statement

A. It causes the cursor to close

B. It causes the cursor to open

C. It loads the current row values into variables

D. It creates the variables to hold the current row values

Ans: B

 

9. What is the maximum number of handlers processed before the PL/SQL block is exited when an exception occurs?

A. Only one

B. All that apply

C. All referenced

D. None

Ans: A

 

10. For which trigger timing can you reference the NEW and OLD qualifiers?

A. Statement and Row

B. Statement only

C. Row only

D. Oracle Forms trigger

Ans: D

 

11. Which identifier is valid?

   A. customer_12

   B. loop

   C. customer@orgA

   D. 12customer

  Ans: A

 

12. What is the value of customer_id within the nested block in the example below?

/* Start main block */

DECLARE

 customer_id NUMBER(9) := 678;

 credit_limit NUMBER(10,2) := 10000;

BEGIN

 /* Start nested block */

DECLARE

 customer_id VARCHAR2(9) := 'AP56';

 current_balance NUMBER(10,2) := 467.87;

BEGIN

-- what is the value of customer_id at this point?

  NULL;

 END;

END;

Please select the best answer.

   A. 678

   B. 10000

   C. 'AP56'

   D. 467.87

  Ans: B.

 

13. For which task is it best to use a character string enclosed by double quotes? Please select the best answer.

   A. Referring to a column in the database

   B. Using a reserved word to declare an identifier

   C. Using a hyphen to concatenate two columns

   D. Referring to a number variable by using a logical operator

  Ans: B.

 

14. What is the maximum number of exception handlers processed before the PL/SQL block is exited, provided an exception occurs? Please select the best answer.

   A. None

   B. All exceptions that are referenced in the block

   C. One

   D. All exceptions that apply

  Ans: C.

 

15. Which functions can be used with any datatype? Please select all the correct answers.

   A. SUM

   B. MIN

   C. MAX

   D. AVG

  The correct answers are B and C.

 

16.  Select incorrect variable declarations

A. foo_number varchar2(10);

B. foo_text number(10);

C. foo_char char(1) := 'Y';

D. foo_time date;

E. foo_text varchar2(10) := 'hello world';

Ans:  E

 

17. Select invalid variable types

A. CHAR

B. VARCHAR1

C. VARCHAR2

D. INTEGER

E. NUMBER

ANS: B

 

18. List the correct sequence of commands to process a set of records when using explicit cursors

A. INITIALIZE, GET, CLOSE

B. CURSOR, GET, FETCH, CLOSE

C. OPEN, FETCH, CLOSE

D. CURSOR, FETCH, CLOSE

E. GET, SEEK, HIDE

ANS:   C

 

19. Select incorrect variable declarations

A. foo_number varchar2(10);

B. foo_text number(10);

C. foo_char char(1) := 'Y';

D. foo_time date;

E. foo_text varchar2(10) := 'hello world';

Ans:  E

 

20. Select invalid variable types

A. CHAR

B. VARCHAR1

C. VARCHAR2

D. INTEGER

E. NUMBER

ANS: B

 

21.  List the correct sequence of commands to process a set of records when using explicit cursors

A. INITIALIZE, GET, CLOSE

B. CURSOR, GET, FETCH, CLOSE

C. OPEN, FETCH, CLOSE

D. CURSOR, FETCH, CLOSE

E. GET, SEEK, HIDE

 ANS:   C

 

22. Where do you declare an explicit cursor in the PL/SQL language?

  A. In the PL/SQL working storage section

  B. In the PL/SQL declaration section

  C. In the PL/SQL body section

  D. In the PL/SQL exception section

  E. None of the above

ANS: B

    

23.  Assuming the date and time is 09/09/2009 09:09:09, what value will the following statement return SELECT TO_CHAR(TRUNC(SYSDATE),'MM/DD/YYYY HH24:MI:SS')  FROM dual;

  A. 09/09/2009 09:09:09

  B. 09/09/2009 09:09:09AM

  C. 09/09/2009

  D. 09/09/2009 00:00:00

  E. None of the above 

ANS: D

    

24.  The || is is an example of what function

SELECT last_name || ', ' || first_name || ' ' || middle_name

FROM employees;

  A. Incantination

  B. Integration

  C. Continuation

  D. Concatenation

  E. None of the above

ANS: D    

 

25.  Which of the following is not an Oracle DML function?

  A. DECODE

  B. TRUNCATE

  C. TO_CHAR

  D. NVL

  E. Trick question, all of these are Oracle DML functio

ANS: B

 

26.  Select the invalid PL/SQL looping construct.

  A. WHILE LOOP

                ...

                END LOOP;

  B. FOR rec IN some_cursor LOOP

                ...

                END LOOP;

  C. LOOP

                ...

                UNTIL ;

                END LOOP;

  D. LOOP

                ...

                EXIT WHEN ;

                END LOOP;

  E. None of the above. All are valid.

ANS: C.D

 

27.  Select the best answer.  Which listed attribute is an invalid attribute of an Explicit cursor.

  A. %NOTFOUND

  B. %FOUND

  C. %ROWCOUNT

  D. %ISOPEN

  E. None of the above. All of these are valid.

ANS: E

 

28.  Which of the following is not a grouping function.

  A. COUNT

  B. SUM

  C. DISTINCT

  D. MIN

  E. All of the above.

ANS: C

 

29.  Which of the following is not a valid Oracle PL/SQL exception.

  A. NO_DATA_FOUND ORA-01403

  B. TWO_MANY_ROWS ORA-01422

  C. DUP_VAL_ON_INDEX ORA-00001

  D. OTHERS

  E. None of the above. These are all valid.

ANS: B

 

30.  What command can you use to see the errors from a recently created view or stored procedure?

  A. SHOW MISTAKES;

  B. DISPLAY MISTAKES;

  C. DISPLAY ERRORS;

  D. SHOW ERRORS;

  E. None of the above.

ANS: D

 

31.  Select the best answer below.  What are the components of a package?

  A. Box, wrapping and binding

  B. Header and body

  C. Specification and content

  D. Specification and body

  E. None of the above

ANS: D

    

32. PL/SQL subprograms, unlike anonymous blocks, are compiled each time they are executed. True or False?

a. True

b.False

ANS: A

 

33. Subprograms and anonymous blocks can be called by other applications. True or False?

            a.True

           b.False

ANS: A

 

34. A nested subprogram can be called from the main procedure or from the calling environment. Trueor False? 

        a.  True

         b. False

ANS: B

 

35. When modifying procedure code, the procedure must be re-executed to validate and store it in the database. True or False? 

    a. True

    b. False

ANS: A

 

36. Which of the following can be used as an argument for a procedure parameter? 

a.The name of a variable.

b.A literal value.

c.An expression.

d.All of the above.

e.None of the above

ANS: D

 

37. If you don't specify a mode for a parameter, what is the default mode? 

a.OUT

b.IN

c.COPY

d.DEFAULT

e.R(ead)

ANS: B

 

38. Which kind of parameters cannot have a DEFAULT value? 

a.OUT

b.IN

c.CONSTANT

d.R(ead)

e.W(rite)

ANS: A

 

39. What are the three parameter modes for procedures? 

a.IN, OUT, IN OUT

b.R(ead), W(rite), A(ppend)

c.CONSTANT, VARIABLE, DEFAULT

d.COPY, NOCOPY, REF

ANS: A

 

40. Which one of the following statements about formal and actual parameters is true? 

a.Formal and actual parameters must have the same name.

b.Formal and actual parameters must have different names.

c.A formal parameter is declared within the called procedure, while an actual parameter is declared in thecalling environment.

d.An actual parameter is declared within the called procedure.

ANS: C

 

41. What is the correct syntax to create procedure MYPROC that accepts two number parameters X and Y? 

a.CREATE PROCEDURE myproc (x NUMBER, y NUMBER) IS ...

b.CREATE PROCEDURE (x NUMBER, y NUMBER) myproc IS ...

c.CREATE PROCEDURE myproc IS (x NUMBER, y NUMBER) ...

d.CREATE PROCEDURE IS myproc (x NUMBER, y NUMBER) ...

ANS: A

 

 

42. In the context of MS SQL SERVER, with the exception of ............ column(s), any column can participate in the GROUP BY clause.

A) bit

B) text

C) ntext

D) image

E) All of above

ANS: E

 

43. The sequence of the columns in a GROUP BY clause has no effect in the ordering of the output.

A) True

B) False

ANS: B

 

44. You want all dates when any employee was hired. Multiple employees were hired on the same date and you want to see the date only once. 

Query - 1

Select distinct hiredate

From hr.employee

Order by hiredate;

Query - 2

Select hiredate

From hr.employees

Group by hiredate

Order by hiredate;

Which of the above query is valid?

A) Query - 1

B) Query - 2

C) Both

ANS: C

 

45. GROUP BY ALL generates all possible groups - even those that do not meet the query's search criteria. 

A) True

B) False

ANS: A

 

46. All aggregate functions ignore NULLs except for ............ 

A) Distinct

B) Count (*)

C) Average()

D) None of above

ANS: B

 

47. Using GROUP BY ............ has the effect of removing duplicates from the data. 

A) with aggregates

B) with order by

C) without order by

D) without aggregates

ANS: D

 

48. Below query is run in SQL Server 2012, is this query valid or invalid: 

Select count(*) as X

from Table_Name

Group by ()

A) Valid

B) Invalid

ANS: A

 

49. For the purposes of ............, null values are considered equal to other nulls and are grouped together into a single result row. 

A) Having

B) Group By

C) Both of above

D) None of above

ANS: B

 

50. If you SELECT attributes and use an aggregate function, you must GROUP BY the non-aggregate attributes.

A) True

B) False

ANS: A