Latest PLSQL Objective type Questions and Answers
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
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
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
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
9 comments:
Very useful question and answers thank you for sharing. Know about PLSQL Online Training
Lots of answer are wrong
some answers are wrong
Hi There,
Fully agree on Jasper soft Official Site - Download Jasper soft
We’re seeing a lot of projects tackle big complex problems but few seem to have taken into consideration and in particular reasons to adopt.
And ending balance will be calculated as beginning balance + debit amount or begening_balance - credit amount. but how can I put ending balance of current row to begening_balance of next row.
Note - First row of beginning balance and ending balance will come through gl_balances itself, but need to calculated values from 2nd row.
Very useful post !everyone should learn and use it during their learning path.
MuchasGracias,
Willson
Answer for 12th Question is NOT B
Answer is C = 'AP56'
Salama Aleikum,
I’ve often thought about this #topic. Nice to have it laid out so clearly. Great eye opener.
Our project DBA Team is planning to migrate Oracle DB from version 11.2.0.4 to 12.2.0.1.
Could you please let mw know what the ares which gets impacted from DB Development Team prospective.
Our DBA Team will take care of up gradation.
But I want to know any deprecated conceptsimpacted ares in Higher version?
Current Version :Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
Thanks a lot. This was a perfect step-by-step guide. Don’t think it could have been done better.
morgan
Hi There,
Seems like I won the lottery here….This is a treasure box of blogs and your folks are like leprechauns! Phenomenal read on plsql-multiple-choice-questions.html!
I'd like to be able to log all constraint errors when users are running an application having Oracle as the back-end. That means inserting a record into an Errors Log table in Oracle.
Is that even possible? In an exception clause, I could do that; however, when a constraint fails, I don't know where I'd be able to run such code to do the insert.
Is this even possible?
Thanks for any help you can give.
Wayne
Appreciate your effort for making such useful blogs and helping the community.
Merci,
Preethi.
My name is Leah Brown, I'm a happy woman today? I told myself that any loan lender that could change my life and that of my family after having been scammed separately by these online loan lenders, I will refer to anyone who is looking for loan for them. It gave me and my family happiness, although at first I had a hard time trusting him because of my experiences with past loan lenders, I needed a loan of $300,000.00 to start my life everywhere as single mother with 2 children, I met this honest and God fearing online loan lender Gain Credit Loan who helped me with a $300,000.00 loan, working with a loan company Good reputation. If you are in need of a loan and you are 100% sure of paying the loan please contact (gaincreditloan1@gmail.com)
Thank you ever so for you article post.Much thanks again. Keep writing.
Thank you ever so for you article post.Much thanks again. Keep writing.
Post a Comment