PL/SQL stands for Procedural Language/ Structured Query Language. It is basically an extension of SQL with operational features of the programming language. It runs within the Oracle executable and inherits all the security features, portability, and swiftness of Oracle Database. Below is a list of the most common PL SQL interview questions for you to have a read.
PL/SQL is used to integrate data-manipulation of SQL with the processing abilities of procedural languages. PL/SQL has many benefits like having better performance and productivity, access to predefined packages, support for Object-Oriented Programming and Developing Web Pages and Applications easily.
Here in this article, we will be listing frequently asked PL SQL Interview Questions and Answers with the belief that they will be helpful for you to gain higher marks. Also, to let you know that this article has been written under the guidance of industry professionals and covered all the current competencies.
SQL | PL/SQL |
---|---|
Stands for Structured Query Language. | Stands for Procedural Language SQL, an extension for SQL. |
Only one single query can be executed at a time. | Multiple codes can be executed at a single time. |
It is used to store data to be displayed | It's the language through which an application is created to display data |
PL SQL statements cannot be embedded in the code | SQL statements can be embedded in the code |
Used to write queries and commands using DDL and DML methods | Used to write a block of code for having procedures, variables, functions and packages |
Delimiter in PL/SQL is a simple/compound symbol. In PL/SQL, delimiters are used to represent arithmetic operations like addition and subtraction.
In PL/SQL, Rowtype is used to provide a record type/data type in the form of rows in a database. Variables declared using the %ROWTYPE attribute are considered to be declared using a data type name.
In PL/SQL, there are two types of triggers:
In PL/SQL modules, packages are used to encapsulate logically related data types, constants, variables, subprograms, cursors, and any other exceptions. Each package can be used to simplify the level of understanding inside an interface using simple, clear and well-defined functions within.
COMMIT | ROLLBACK |
---|---|
Syntax: COMMIT; | Syntax: ROLLBACK; |
Used to validate modifications made by current transactions | Used to erase modifications made by current transactions |
After executing this, a transaction can’t be used for ROLLBACK | After executing this, a transaction can be modified and sent for COMMIT |
Occurs after successful completion of a transaction | Occurs if transaction is abrupted unexpectedly |
In, PL/SQL, a Savepoint is a TCL(Transition Control Language), statement is used to create a breakpoint during a specific/current transaction at a particular location. A Savepoint is basically a pit stop for transactions and ROLLBACK can be used to erase any part of a transaction.
Attributes in PL/SQL are properties which let the user reference the data type and structure of a present item without having to repeat its definition. Attributes are mainly used for easy maintenance of database tables.
CASE | DECODE |
---|---|
Is a statement | Is a function |
Can be used in the WHERE clause | Cannot be used in the WHERE clause |
Server processes assigned in a client program to be used as a memory for private data are known as Process Global Area. UGA or User Global Area is used to retain data during a session database such as Package Variables and Private SQL areas.
The Function overloading in PL/SQL is based on the concept of polymorphism. It actually refers to the capability of any programming method to perform multiple operations based on the input data type and the context in which the process, i.e., function, is used.
S.no | Run-Time Error | Syntax Error |
---|---|---|
1. | This is a type of error that is encountered while the program is running. | This is an error encountered in the syntax of a sequence of characters or the tokens intended to be written in a particular language. |
2. | It happens due to the occurrence of an illegal operation. | It happens due to the occurrence of grammar rules with respect to the programming language. |
3. | This type of error is detected while the program is still running. | This type of error is detected while compiling the program. |
4. | E.g., Array out of bound, Diving by zero, etc. | E.g., Missing curly braces, semicolons, etc. |
S.no | Constraints | Triggers |
---|---|---|
1. | This is defined by the relationship between data elements. | These are the actions that are executed when a specific reaction occurs. |
2. | It is used for a column. | It is used for a table. |
3. | These are useful for database consistency. | These are used for logging and auditing. |
4. | It precedes triggers when getting fired. | First constraints get fired. Only then do triggers get fired. |
In PL/SQL, procedures support all the parameter modes listed below, whereas, functions only support the IN parameter mode. Here are all the parameter modes in PL/SQL for procedures and functions:
To define a multi-line comment style in PLSQL, there are two steps.
A scalar data type in PL/SQL is one in which there are single values with no internal components such as DATE, BOOLEAN, or NUMBER.
In PL/SQL a cursor is needed for the following reasons:
S.no | Stored Procedure | Function |
---|---|---|
1. | It supports all the parameters of PL/SQL, namely, IN, OUT, and IN-OUT. | It supports only input parameters, not the output parameters. |
2. | They can call functions as and when required. | A function can not call a stored procedure. |
3. | There is no possibility of calling stored procedures from select, having, and where statements. | A function can be called using the select statement. |
4. | Here, transactions can be used. | No transactions can be used here. |
5. | It can undergo exception handling by the insertion of try/catch blocks. | There are no provisions for a function to explicitly undergo exception handling. |
6. | It may or may not return with a value. | It has to return with either a result or a value to the caller. |
7. | All the database operations such as Insert, Delete, Update, etc. can be performed with stored procedures. | Only the Select Database operation can be carried out with functions. |
8. | Stored procedures can fire triggers. | Functions can not fire triggers. |
9. | It can use print commands. | A function can not use print commands. |
10. | Stored Procedures can execute dynamic SQL commands. | Functions can not execute dynamic SQL commands. |
Nowadays, Databases are getting colossal, and there is a large amount of data to go through while finding anything in particular when required. Indexing in PL/SQL helps to speed up the process of finding a specific piece of data by returning a small portion of table rows in order to make the process of accessing data accurate and faster.
In PL/SQL, an exception is technically an error condition during the execution of a program. There are two types of limitations in PL/SQL, namely: