Syed Saad Ali

Oracle ACE Pro

Oracle Solution Architect

Oracle E-Business Suite

Oracle Cloud Infrastructure

Oracle Fusion Middleware

Oracle Database Administration

Oracle Weblogic Administration

Syed Saad Ali

Oracle ACE Pro

Oracle Solution Architect

Oracle E-Business Suite

Oracle Cloud Infrastructure

Oracle Fusion Middleware

Oracle Database Administration

Oracle Weblogic Administration

Database Interview Questions

June 7, 2017 PL/Sql Interview Questions Part 4
Database Interview QuestionsInterview Questions

1. What will you get by the cursor attribute SQL%FOUND?

 

It returns the Boolean value TRUE if at least one row was processed.

 

 

2. What will you get by the cursor attribute SQL%NOTFOUND?

 

It returns the Boolean value TRUE if no rows were processed.

 

 

3. What do you understand by PL/SQL packages?

 

  • A PL/SQL package can be specified as a file that groups functions, cursors, stored procedures, and variables in one place.

 

 

 

4. What are the two different parts of the PL/SQL packages?

 

PL/SQL packages have the following two parts:

  • Specification part: It specifies the part where the interface to the application is defined.
  • Body part: This part specifies where the implementation of the specification is defined.

 

 

5. Which command is used to delete a package?

 

  • The DROP PACKAGE command is used to delete a package.

 

 

6. How to execute a stored procedure?

 

There are two way to execute a stored procedure.

From the SQL prompt, write EXECUTE or EXEC followed by procedure_name.

  •  EXECUTE or [EXEC] procedure_name;

Simply use the procedure name

  • procedure_name;

 

 

7. What are the advantages of stored procedure?

  • Modularity, extensibility, reusability, Maintainability and one time compilation.

 

 

 

8. What are the cursor attributes used in PL/SQL?

 

  • %ISOPEN: it checks whether the cursor is open or not.
  • %ROWCOUNT: returns the number of rows affected by DML operations:                                                                                           INSERT,DELETE,UPDATE,SELECT.
  • %FOUND: it checks whether cursor has fetched any row. If yes TRUE.
  • %NOTFOUND: it checks whether cursor has fetched any row. If no TRUE.

 

 

 

9. What is the difference between syntax error and runtime error?

 

  • A syntax error can be easily detected by a PL/SQL compiler.
  • For example: incorrect spelling etc.
  • A runtime error is handled with the help of exception-handling section in a PL/SQL block.
  • For example: SELECT INTO statement, which does not return any rows.

 

 

 

10. Explain the Commit statement?

 

Following conditions are true for the Commit statement:

  • Other users can see the data changes made by the transaction.
  • The locks acquired by the transaction are released.
  • The work done by the transaction becomes permanent.

 

 

11. Explain the Rollback statement?

The Rollback statement is issued when the transaction ends. Following conditions are true for a Rollback statement:

  • The work done in a transition is undone as if it was never issued.
  • All locks acquired by transaction are released.

 

 

12. Explain the SAVEPOINT statement?

 

With SAVEPOINT, only part of transaction can be undone.

 

 

 

13. What is mutating table error?

 

  • Mutating table error is occurred when a trigger tries to update a row that it is currently using.
  • It is fixed by using views or temporary tables.

 

 

14. What is consistency?

 

Consistency simply means that each user sees the consistent view of the data.

 

 

 

15. What is cursor and why it is required?

 

  • A cursor is a temporary work area created in a system memory when an SQL statement is executed.
  • A cursor contains information on a select statement and the row of data accessed by it.
  • This temporary work area stores the data retrieved from the database and manipulate this data.
  • A cursor can hold more than one row, but can process only one row at a time.
  • Cursor are required to process rows individually for queries.

 

 

16. How many types of cursors are available in PL/SQL?

 

There are two types of cursors in PL/SQL.

  1. Implicit cursor, and
  2. explicit cursor

 

 

June 7, 2017 PL/Sql Interview Questions Part 3
Database Interview QuestionsInterview Questions

1. What are some predefined exceptions in PL/SQL?

A list of predefined exceptions in PL/SQL:

  • DUP_VAL_ON_INDEX
  • ZERO_DIVIDE
  • NO_DATA_FOUND
  • TOO_MANY_ROWS
  • CURSOR_ALREADY_OPEN
  • INVALID_NUMBER
  • INVALID_CURSOR
  • PROGRAM_ERROR
  • TIMEOUT _ON_RESOURCE
  • STORAGE_ERROR
  • LOGON_DENIED
  • VALUE_ERROR
  • etc.

 

2. What is a trigger in PL/SQL?

 

  • A trigger is a PL/SQL program which is stored in the database.
  • It is executed immediately before or after the execution of INSERT, UPDATE, and DELETE commands.

 

 

 

3. What is the maximum number of triggers, you can apply on a single table?

 

12 triggers.

 

 

 

4. How many types of triggers exist in PL/SQL?

 

There are 12 types of triggers in PL/SQL that contains the combination of BEFORE, AFTER, ROW, TABLE, INSERT, UPDATE, DELETE and ALL keywords.

  • BEFORE ALL ROW INSERT
  • AFTER ALL ROW INSERT
  • BEFORE INSERT
  • AFTER INSERT etc.

 

 

5. What is the difference between execution of triggers and stored procedures?

 

  • A trigger is automatically executed without any action required by the user, while a stored procedure is explicitly invoked by the user.

 

 

6. What happens when a trigger is associated to a view?

 

  • When a trigger is associated to a view, the base table triggers are normally enabled.

 

 

 

7. What is the usage of WHEN clause in trigger?

 

  • A WHEN clause specifies the condition that must be true for the trigger to be triggered.

 

 

8. How to disable a trigger name update_salary?

 

  • ALTER TRIGGER update_salary DISABLE;

 

 

 

9. Which command is used to delete a trigger?

 

  • DROP TRIGGER command.

 

 

10. what are the two virtual tables available at the time of database trigger execution?

 

Table columns are referred as THEN.column_name and NOW.column_name.

  • For INSERT related triggers, NOW.column_name values are available only.
  • For DELETE related triggers, THEN.column_name values are available only.
  • For UPDATE related triggers, both Table columns are available.

 

 

11. What is stored Procedure?

 

A stored procedure is a sequence of statement or a named PL/SQL block which performs one or more specific functions.

  • It is similar to a procedure in other programming languages.
  • It is stored in the database and can be repeatedly executed.
  • It is stored as schema object.
  • It can be nested, invoked and parameterized.

 

 

12. What are the different schemas objects that can be created using PL/SQL?

 

  • Stored procedures and functions
  • Packages
  • Triggers
  • Cursors

 

 

13. What do you know by PL/SQL Cursors?

 

  • Oracle uses workspaces to execute the SQL commands.
  • When Oracle processes a SQL command, it opens an area in the memory called Private SQL Area.
  • This area is identified by the cursor.
  • It allows programmers to name this area and access it’s information.

 

 

 

14. What is the difference between the implicit and explicit cursors?

 

  • Implicit cursor is implicitly declared by Oracle.
  • This is a cursor to all the DDL and DML commands that return only one row.
  • Explicit cursor is created for queries returning multiple rows.

 

 

15. What will you get by the cursor attribute SQL%ROWCOUNT?

 

  • The cursor attribute SQL%ROWCOUNT will return the number of rows that are processed by a SQL statement.

 

 

 

June 5, 2017 PL/Sql Interview Questions Part 2
Database Interview QuestionsInterview Questions

1. What is PL/SQL?

  • PL/SQL stands for procedural language extension to SQL.
  • It supports procedural features of programming language and SQL both.
  • It was developed by Oracle Corporation in early of 90’s to enhance the capabilities of SQL.

2. What is the purpose of using PL/SQL?

  • PL/SQL is an extension of SQL.
  • While SQL is non-procedural, PL/SQL is a procedural language designed by Oracle.
  • It is invented to overcome the limitations of SQL.

 

3. What are the most important characteristics of PL/SQL?

A list of some notable characteristics:

  • PL/SQL is a block-structured language.
  • It is portable to all environments that support Oracle.
  • PL/SQL is integrated with the Oracle data dictionary.
  • Stored procedures help better sharing of application.

4. What is PL/SQL table? Why it is used?

  • Objects of type tables are called PL/SQL tables that are modeled as database table.
  • We can also say that PL/SQL tables are a way to providing arrays.
  • Arrays are like temporary tables in memory that are processed very quickly.
  • PL/SQL tables are used to move bulk data.
  • They simplifies moving collections of data.

 

 

5. What are the datatypes available in PL/SQL?

There are two types of datatypes in PL/SQL:

  1. Scalar datatypes Example are NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN etc.
  2. Composite datatypes Example are RECORD, TABLE etc.

6. What is the basic structure of PL/SQL?

PL/SQL uses BLOCK structure as its basic structure.

Each PL/SQL program consists of SQL and PL/SQL statement which form a PL/SQL block.

PL/SQL block contains 3 sections.

  1. The Declaration Section (optional)
  2. The Execution Section (mandatory)
  3. The Exception handling Section (optional)

8. What is exception? What are the types of exceptions?

Exception is an error handling part of PL/SQL.

There are two type of exceptions: pre_defined exception and user_defined exception.

9. How to write a single statement that concatenates the words ?Hello? and ?World? and assign it in a variable named Greeting?

Greeting := ‘Hello’ || ‘World’;

10. Does PL/SQL support CREATE command?

No, PL/SQL doesn’t support the data definition commands like CREATE.

11. Write a unique difference between a function and a stored procedure.

A function returns a value while a stored procedure doesn’t return a value.

12. How exception is different from error?

  • Whenever an Error occurs Exception arises.
  • Error is a bug whereas exception is a warning or error condition.

 

13. What is the main reason behind using an index?

By using an Index we can access data blocks Faster in the table.

14. What are PL/SQL exceptions? Tell me any three.

  1. Too_many_rows
  2. No_Data_Found
  3. Value_error
  4. Zero_error etc.

15. How do you declare a user-defined exception?

You can declare the User defined exceptions under the DECLARE section, with the keyword EXCEPTION.

Syntax:

<exception_name> EXCEPTION;

 

 

June 5, 2017 PL/Sql Interview Questions Part 1
Database Interview QuestionsInterview Questions

 

1. What are Procedure, functions and Packages?

  • Procedures and functions consist of set of PL/SQL statements that are grouped together as a unit to solve a specific problem or perform set of related tasks.
  • Procedures do not return values while Functions return one Value.
  • Packages provide a method of encapsulating and storing related procedures, functions, variables and other Package Contents

 

 

2.What is a ROWID and Why does it needed?

ROWID is the physical address (location) of the row on the disk. This is the fastest way to access a row in a table.

 

3.How many types of SQL Statements are there in Oracle?

There are  6 types of SQL statements.

Data Definition Language (DDL): The DDL statements define and maintain objects and drop objects.

Data Manipulation Language (DML): The DML statements manipulate database data.

Transaction Control Statements: Manage change by DML.

Session Control: Used to control the properties of current session enabling and disabling roles.

System Control Statements: Change Properties of Oracle Instance.

Embedded SQL: Incorporate DDL, DML and T.C.S in Programming Language.

 

 

4.How many Integrity Rules are there and what are they?

There are Three Integrity Rules as follows:

Entity Integrity Rule: The Entity Integrity Rule enforces that the Primary key cannot be Null.

Foreign Key Integrity Rule: The FKIR denotes that the relationship between the foreign key and the primary key has to be enforced. When there is data in Child Tables the Master tables cannot be deleted.

Business Integrity Rules: The Third Integrity rule is about the complex business processes which cannot be implemented by the above 2 rules.

 

 

5.How to implement the If statement in the Select Statement?

We can implement the if statement in the select statement by using the Decode statement.

e.g select DECODE (EMP_CAT,’1′,’First’,’2′,’Second’Null);

Here, the Null is the else statement where null is done .

 

 

6.How do you use the same LOV for 2 columns?

  • We can use the same LOV for 2 columns by passing the return values in global values and using the global values in the code.

 

 

7.What are snap shots and views?

  • Snapshots are mirror or replicas of tables.
  • Views are built using the columns from one or more tables.
  • The Single Table View can be updated but the view with multi table cannot be updated.

 

 

8.What is the difference between candidate key, unique key and primary key?

  • Candidate keys are the columns in the table that could be the primary keys and the primary key is the key that has been selected to identify the rows.
  • Unique key is also useful for identifying the distinct rows in the table.

 

9.What is Row Chaining?

  • The data of a row in a table may not be able to fit the same data block.
  • Data for row is stored in a chain of data blocks.

 

 

10.What is the difference between deleting and truncating of tables?

  • Deleting a table will not remove the rows from the table but entry is there in the database dictionary and it can be retrieved.
  • While truncating a table deletes it completely and it cannot be retrieved.

 

11.What is the Difference between a post query and a pre query?

  • A post query will fire for every row that is fetched but the pre query will fire only once.

 

12.How to Delete the Duplicate rows in the table?

We can delete the duplicate rows in the table by using the Rowid

Example: DELETE FROM table_name a  Where rowid>(select min(rowid) from table_name b where a.table_no=b.table_no);

13.Can we disable database trigger? How?

Yes we can disable database triggers through following issuing statement

ALTER TABLE TABLE [DISABLE all_trigger ]

 

14.Is space acquired in blocks or extents?

  • Space is acquired in extents.