300+ [UPDATED] PL/SQL MCQs and Answers [PDF]

Best PL/SQL Objective Questions and Answers

PL/SQL Objective Questions Pdf Download for Exam PL/SQL MCQs. Quiz 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.

Answer: A

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.

Answer: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.

Answer: A

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

A. %found

B. %too_many_rows

C. %notfound

D. %rowcount

E. %rowtype

Answer: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

Answer: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.

Answer: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.

Answer: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

Answer: 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

Answer: 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

Answer: D

11. Which identifier is valid?

A. customer_12

B. loop

C. customer@orgA

D. 12customer

Answer: 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

Answer: 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

Answer: 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

Answer: 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’;

Answer:  E

17. Select invalid variable types

A. CHAR

B. VARCHAR1

C. VARCHAR2

D. INTEGER

E. NUMBER

Answer: 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

Answer:   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’;

Answer:  E

20. Select invalid variable types

A. CHAR

B. VARCHAR1

C. VARCHAR2

D. INTEGER

E. NUMBER

Answer: 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

Answer:   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

Answer: 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

Answer: 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

Answer: 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

Answer: 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.

Answer: 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.

Answer: E

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

A. COUNT

B. SUM

C. DISTINCT

D. MIN

E. All of the above.

Answer: 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.

Answer: 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.

Answer: 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

Answer: D

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

a. True

b.False

Answer: A

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

a.True

b.False

Answer: A

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

a.  True

b. False

Answer: 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

Answer: 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

Answer: 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)

Answer: B

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

a.OUT

b.IN

c.CONSTANT

d.R(ead)

e.W(rite)

Answer: 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

Answer: 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.

Answer: 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) …

Answer: 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

Answer: 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

Answer: 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

Answer: C

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

A) True

B) False

Answer: A

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

A) Distinct

B) Count (*)

C) Average()

D) None of above

Answer: 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

Answer: 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

Answer: 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

Answer: B

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

A) True

B) False

Answer: A

Leave a Reply

Your email address will not be published. Required fields are marked *