Frequently asked questions and answers of PL/SQL in Programming Technologies of Computer Science to enhance your skills, knowledge on the selected topic. We have compiled the best PL/SQL Interview question and answer, trivia quiz, mcq questions, viva question, quizzes to prepare. Download PL/SQL FAQs in PDF form online for academic course, jobs preparations and for certification exams .
Intervew Quizz is an online portal with frequently asked interview, viva and trivia questions and answers on various subjects, topics of kids, school, engineering students, medical aspirants, business management academics and software professionals.
Question-1. What is PL/SQL?
Answer-1: PL/SQL is Oracle's procedural extension to SQL, allowing programming constructs like loops, conditions, and error handling.
Question-2. How is PL/SQL different from SQL?
Answer-2: SQL is a query language for interacting with databases, while PL/SQL adds procedural capabilities like loops and exception handling.
Question-3. What are the benefits of PL/SQL?
Answer-3: Benefits include block structure, error handling, improved performance, and reusability.
Question-4. What are the main components of a PL/SQL block?
Answer-4: A PL/SQL block consists of three sections: Declaration, Execution, and Exception handling.
Question-5. What are cursors in PL/SQL?
Answer-5: Cursors allow you to retrieve and manipulate query results row by row.
Question-6. What is the difference between an implicit and explicit cursor?
Answer-6: Implicit cursors are automatically created by Oracle, while explicit cursors are defined by the programmer for complex queries.
Question-7. What is an exception in PL/SQL?
Answer-7: An exception is an error condition that interrupts normal program execution.
Question-8. What are the types of exceptions in PL/SQL?
Answer-8: Exceptions are either predefined (e.g., NO_DATA_FOUND) or user-defined.
Question-9. What is a trigger in PL/SQL?
Answer-9: A trigger is a stored procedure that automatically executes in response to certain events on a table or view.
Question-10. What is the difference between a function and a procedure in PL/SQL?
Answer-10: A function returns a value, while a procedure does not return a value but can have output parameters.
Question-11. What is a package in PL/SQL?
Answer-11: A package is a collection of related procedures, functions, variables, and other elements grouped together.
Question-12. How do you declare a variable in PL/SQL?
Answer-12: Variables are declared using the syntax: variable_name datatype [:= initial_value];.
Question-13. What is the %TYPE attribute in PL/SQL?
Answer-13: %TYPE is used to declare a variable with the same data type as a column in a table.
Question-14. What is the %ROWTYPE attribute in PL/SQL?
Answer-14: %ROWTYPE is used to declare a variable that can hold an entire row of a table or query result.
Question-15. What are collections in PL/SQL?
Answer-15: Collections are data types like arrays, including associative arrays, nested tables, and VARRAYs.
Question-16. What is the difference between a nested table and a VARRAY?
Answer-16: Nested tables are unbounded and can be sparse, while VARRAYs are bounded and ordered collections.
Question-17. What are the types of control structures in PL/SQL?
Answer-17: Types include conditional (e.g., IF-THEN-ELSE), iterative (e.g., LOOP, FOR), and sequential control.
Question-18. What is dynamic SQL in PL/SQL?
Answer-18: Dynamic SQL allows execution of SQL statements that are constructed at runtime using the EXECUTE IMMEDIATE or DBMS_SQL package.
Question-19. What is the DBMS_OUTPUT package used for in PL/SQL?
Answer-19: The DBMS_OUTPUT package is used for debugging by displaying output messages.
Question-20. What is the purpose of the EXCEPTION_INIT pragma in PL/SQL?
Answer-20: It associates a user-defined exception with an Oracle error number.
Question-21. How is a loop implemented in PL/SQL?
Answer-21: Loops can be implemented using LOOP, FOR, or WHILE constructs.
Question-22. What are PL/SQL records?
Answer-22: PL/SQL records are composite data types that can hold multiple fields of different data types.
Question-23. How can you handle errors in PL/SQL?
Answer-23: Errors are handled using the EXCEPTION block with predefined or user-defined exceptions.
Question-24. What is a pragma in PL/SQL?
Answer-24: A pragma is a compiler directive that provides instructions to the PL/SQL compiler.
Question-25. What is the difference between RAISE and RAISE_APPLICATION_ERROR?
Answer-25: RAISE re-throws an exception, while RAISE_APPLICATION_ERROR is used to define custom error messages.
Question-26. What is the MERGE statement in PL/SQL?
Answer-26: The MERGE statement is used to perform insert, update, or delete operations in a single statement.
Question-27. What is autonomous transaction in PL/SQL?
Answer-27: An autonomous transaction is a separate transaction that can be committed or rolled back independently of the main transaction.
Question-28. How do you declare an explicit cursor?
Answer-28: Declare an explicit cursor using CURSOR cursor_name IS query;.
Question-29. What is the difference between FETCH and OPEN in cursor handling?
Answer-29: OPEN initializes the cursor, while FETCH retrieves rows from the result set.
Question-30. What is a REF cursor in PL/SQL?
Answer-30: A REF cursor is a cursor variable that can hold the result set of a query dynamically.
Question-31. What is the FORALL statement in PL/SQL?
Answer-31: The FORALL statement allows bulk binding for executing multiple DML statements.
Question-32. What is the purpose of the SAVEPOINT statement in PL/SQL?
Answer-32: SAVEPOINT marks a point in a transaction to which you can later roll back.
Question-33. What are mutating tables in PL/SQL?
Answer-33: Mutating tables are tables that are being modified by a DML operation and cannot be queried or modified further during the same transaction.
Question-34. How do you create a trigger in PL/SQL?
Answer-34: Use the CREATE TRIGGER statement, specifying the timing (BEFORE/AFTER) and event (e.g., INSERT).
Question-35. What is a bulk collect in PL/SQL?
Answer-35: BULK COLLECT retrieves multiple rows from a query into a collection in a single operation.
Question-36. What is the difference between ROWNUM and ROW_NUMBER()?
Answer-36: ROWNUM is assigned during query processing, while ROW_NUMBER() assigns numbers based on specified order.
Question-37. What is the purpose of the LOCK TABLE statement?
Answer-37: LOCK TABLE is used to lock a table to prevent concurrent modifications.
Question-38. What is the use of the RETURNING clause in PL/SQL?
Answer-38: The RETURNING clause retrieves values from DML operations into variables or collections.
Question-39. What is a materialized view in PL/SQL?
Answer-39: A materialized view is a database object that stores the result of a query for performance improvement.
Question-40. What is a context switch in PL/SQL?
Answer-40: A context switch occurs when control moves between SQL and PL/SQL engines, affecting performance.
Question-41. How do you optimize PL/SQL performance?
Answer-41: Use techniques like bulk binding, avoiding context switches, and using indexed collections.
Question-42. What is a compound trigger in PL/SQL?
Answer-42: A compound trigger allows defining multiple timing sections in a single trigger.
Question-43. What is the difference between %FOUND and %NOTFOUND?
Answer-43: %FOUND returns TRUE if a DML operation affects rows, while %NOTFOUND returns TRUE if no rows are affected.
Question-44. What is a dynamic PL/SQL block?
Answer-44: A dynamic PL/SQL block is a PL/SQL code block constructed and executed at runtime using EXECUTE IMMEDIATE.
Question-45. What is the purpose of CASE statements in PL/SQL?
Answer-45: CASE statements provide conditional logic within SQL or PL/SQL code.
Question-46. How do you use the INSTEAD OF trigger in PL/SQL?
Answer-46: INSTEAD OF triggers are used to perform DML operations on views that are not inherently updatable.
Question-47. What is the difference between COMMIT and ROLLBACK?
Answer-47: COMMIT saves changes to the database, while ROLLBACK undoes changes since the last commit.
Question-48. What are the initialization parameters for PL/SQL?
Answer-48: Parameters like PLSQL_OPTIMIZE_LEVEL and PLSQL_WARNINGS control PL/SQL behavior and performance.
Question-49. What is the difference between SQLERRM and SQLCODE?
Answer-49: SQLERRM returns the error message, while SQLCODE returns the numeric error code.
Question-50. How can you debug PL/SQL code?
Answer-50: Debugging methods include using DBMS_OUTPUT, tools like SQL Developer, and adding log statements.
Frequently Asked Question and Answer on PL/SQL
PL/SQL Interview Questions and Answers in PDF form Online
PL/SQL Questions with Answers
PL/SQL Trivia MCQ Quiz