Tuesday, 14 February 2017

pl/sql programming

1) Reverse of a Given Number

num number:=&n;
rev number:=0;
End loop;
Dbms_Output.Put_Line("Reverse of number is '|| rev);

2) Factorial of a Given number
 num   number:= #
 fact number:= 1;
 temp number;
   temp := num;
    while (num > 0)
    fact := fact * num;
     num   := num - 1;
  end loop;
   Dbms_Output.Put_line('factorial of ' || num || '  is ' || fact);

3) Check a given numbers is Amstrong or not
  num number;
  tot number:=0;
  var1 number;
  var2 number;
  while tmp>0
    var1:=tmp mod 10;
    tot:= tot + (var1*var1*var1);
  end loop;
  if(tot==num) then
    dbms_output.put_line(num||' is armstrong no');
    dbms_output.put_line(num||' is not a armstrong no');
  end if

4) Print Fibonacci Series
    num number := &n;
    n1 number := 0;
    n2 number := 1;
    n3 number;
    for i in 3..num
     n3 := n1 + n2;
     n1 := n2;
     n2 := n3;
end loop;

5) Evaluate Prime number between 1..100
 for i in 1..100 loop
 if i in (1,5,7) then
 dbms_output.put_line(' These are known prime numbers '||i);
 end if;
 if i not in (1,5,7) then
 if mod(i,3)=0 or mod(i,6)=0 or mod(i,9)=0 then
  elsif mod(i,2)=0 or mod(i,4)=0 or mod(i,8)=0 then
 elsif mod(i,5)=0 or mod(i,10)=0 then
  elsif mod(i,7)=0 then
 dbms_output.put_line(' Is this a prime number?? '||i);
 end if;
 end if;
 end loop;

6) Using Iteration
NUM number:=&N;
dbms_output.put_line (NUM||'Natural Number');
dbms_output.put_line (NUM||'Wrong Number');
exit when NUM1=100;
end if;

7) How to define Variable(just adding two numbers)
NUM1 number:=20;
NUM2 number:=50;
SUM number:=0;
dbms_output.put_line (SUM||',');

8) Hello World in PlSql
dbms_output.put_line ('Hello World');

9) Inserting Using Procedure and Cursor
create  or replace procedure p1 as
   CURSOR c_emp IS
      SELECT *
        FROM emp
       WHERE sal< 5000;
   FOR i IN c_emp
insert into e1 values (i.sal);

10) Implecit Cursor Example
employee_id employee.emp_id%TYPE := 1;
DELETE FROM employee
WHERE employee_id = employee_id;
 Dbms_Output.Put_Line('Row Deleted');

11) How to Create procedure
Ctrate or replace procedure emp100
   CURSOR c_emp IS
      SELECT *
        FROM emp
       WHERE sal< 5000;
   FOR i IN c_emp
insert into e1 values (i.sal);

12) How to use substitution variables
v_sal NUMBER(9,2) := &p_annual_sal;
v_sal := v_sal/12;
DBMS_OUTPUT.PUT_LINE ('The monthly salary is ' ||
DEFINE p_annual_sal = 60000

13) How to raise error
   e_rec emp%ROWTYPE;
   sal1 emp.sal%TYPE;
   SELECT sal INTO sal1 FROM emp WHERE deptno = 30 AND ename = 'WARD';
   IF sal1 < 5000 THEN
   RAISE e1;
   END IF;
   WHEN no_data_found THEN
   RAISE_APPLICATION_ERROR (-20001, 'WARD is not there.');
   RAISE_APPLICATION_ERROR (-20002, 'Less Salary.');

14) Insert Update Delete in a Table
    v_sal emp.sal%TYPE;

    INSERT INTO emp VALUES (6, 'Tomcat', 1000);

    UPDATE emp SET sal = sal + 5000 WHERE empno = 6;

      SELECT sal INTO v_sal FROM employee WHERE empno = 6;

    DBMS_OUTPUT.PUT_LINE('Salary increased to ' || v_sal);

    DELETE FROM emp WHERE empno = 6;


Interview Questions and answers on Database Basics

1. What is DBMS ?
The database management system is a collection of programs that enables user to store, retrieve, update and delete information from a database.

2. What is RDBMS ?
Relational Database Management system (RDBMS) is a database management system (DBMS) that is based on the relational model. Data from relational database can be accessed or reassembled in many different ways without having to reorganize the database tables. Data from relational database can be accessed using an API , Structured Query Language (SQL).

3. What is SQL ?
Structured Query Language(SQL) is a language designed specifically for communicating with databases. SQL is an ANSI (American National Standards Institute) standard.

4. What are the different type of SQL's statements ?
This is one of the most frequently asked SQL Interview Questions for freshers. SQL statements are broadly classified into three. They are
1. DDL – Data Definition Language
DDL is used to define the structure that holds the data. For example, Create, Alter, Drop and Truncate table.
2. DML – Data Manipulation Language
DML is used for manipulation of the data itself. Typical operations are Insert, Delete, Update and retrieving the data from the table. The Select statement is considered as a limited version of the DML, since it can't change the data in the database. But it can perform operations on data retrieved from the DBMS, before the results are returned to the calling function.
3. DCL – Data Control Language
DCL is used to control the visibility of data like granting database access and set privileges to create tables, etc. Example - Grant, Revoke access permission to the user to access data in the database.

5. What are the Advantages of SQL ?
1. SQL is not a proprietary language used by specific database vendors. Almost every major DBMS supports SQL, so learning this one language will enable programmers to interact with any database like ORACLE, SQL ,MYSQL etc.
2. SQL is easy to learn. The statements are all made up of descriptive English words, and there aren't that many of them.
3. SQL is actually a very powerful language and by using its language elements you can perform very complex and sophisticated database operations.

6. what is a field in a database ?
A field is an area within a record reserved for a specific piece of data.
Examples: Employee Name, Employee ID, etc.
sql interview questions

7. What is a Record in a database ?
A record is the collection of values / fields of a specific entity: i.e. an Employee, Salary etc.

8. What is a Table in a database ?
A table is a collection of records of a specific type. For example, employee table, salary table etc.

9. What is a database transaction?
Database transaction takes database from one consistent state to another. At the end of the transaction the system must be in the prior state if the transaction fails or the status of the system should reflect the successful completion if the transaction goes through.

10. What are properties of a transaction?
Expect this SQL Interview Questions as a part of an any interview, irrespective of your experience. Properties of the transaction can be summarized as ACID Properties.
1. Atomicity
A transaction consists of many steps. When all the steps in a transaction get completed, it will get reflected in DB or if any step fails, all the transactions are rolled back.
2. Consistency
The database will move from one consistent state to another, if the transaction succeeds and remain in the original state, if the transaction fails.
3. Isolation
Every transaction should operate as if it is the only transaction in the system.
4. Durability
Once a transaction has completed successfully, the updated rows/records must be available for all other transactions on a permanent basis.

11. What is a Database Lock ?
Database lock tells a transaction, if the data item in questions is currently being used by other transactions.

12. What are the type of locks ?
1. Shared Lock
When a shared lock is applied on data item, other transactions can only read the item, but can't write into it.
2. Exclusive Lock
When an exclusive lock is applied on data item, other transactions can't read or write into the data item.
Database Normalization Interview Questions

13. What are the different type of normalization?
In database design, we start with one single table, with all possible columns. A lot of redundant data would be present since it’s a single table. The process of removing the redundant data, by splitting up the table in a well defined fashion is called normalization.
1. First Normal Form (1NF)
A relation is said to be in first normal form if and only if all underlying domains contain atomic values only. After 1NF, we can still have redundant data.
2. Second Normal Form (2NF)
A relation is said to be in 2NF if and only if it is in 1NF and every non key attribute is fully dependent on the primary key. After 2NF, we can still have redundant data.
3. Third Normal Form (3NF)
A relation is said to be in 3NF, if and only if it is in 2NF and every non key attribute is non-transitively dependent on the primary key.
Database Keys and Constraints SQL Interview Questions

14. What is a primary key?
A primary key is a column whose values uniquely identify every row in a table. Primary key values can never be reused. If a row is deleted from the table, its primary key may not be assigned to any new rows in the future. To define a field as primary key, following conditions had to be met :
1. No two rows can have the same primary key value.
2. Every row must have a primary key value.
3. The primary key field cannot be null.
4. Value in a primary key column can never be modified or updated, if any foreign key refers to that primary key.

15. What is a Composite Key ?
A Composite primary key is a type of candidate key, which represents a set of columns whose values uniquely identify every row in a table.
For example -  if "Employee_ID" and "Employee Name" in a table is combined to uniquely identify a row its called a Composite Key.

16. What is a Composite Primary Key ?
A Composite primary key is a set of columns whose values uniquely identify every row in a table. What it means is that, a table which contains composite primary key will be indexed based on the columns specified in the primary key. This key will be referred in Foreign Key tables.
For example - if the combined effect of columns, "Employee_ID" and "Employee Name" in a table is required to uniquely identify a row, its called a Composite Primary Key. In this case, both the columns will be represented as primary key.

17. What is a Foreign Key ?
When a "one" table's primary key field is added to a related "many" table in order to create the common field which relates the two tables, it is called a foreign key in the "many" table.
For example, the salary of an employee is stored in salary table. The relation is established via foreign key column “Employee_ID_Ref” which refers “Employee_ID” field in the Employee table.

18. What is a Unique Key ?
Unique key is same as primary with the difference being the existence of null. Unique key field allows one value as NULL value.
SQL Insert, Update and Delete Commands Interview Questions

19. Define SQL Insert Statement ?
SQL INSERT statement is used to add rows to a table. For a full row insert, SQL Query should start with “insert into “ statement followed by table name and values command, followed by the values that need to be inserted into the table. The insert can be used in several ways:
1. To insert a single complete row.
2. To insert a single partial row.

20. Define SQL Update Statement ?
SQL Update is used to update data in a row or set of rows specified in the filter condition.
The basic format of an SQL UPDATE statement is, Update command followed by table to be updated and SET command followed by column names and their new values followed by filter condition that determines which rows should be updated.

21. Define SQL Delete Statement ?
SQL Delete is used to delete a row or set of rows specified in the filter condition.
The basic format of an SQL DELETE statement is, DELETE FROM command followed by table name followed by filter condition that determines which rows should be updated.

22. What are wild cards used in database for Pattern Matching ?
SQL Like operator is used for pattern matching. SQL 'Like' command takes more time to process. So before using "like" operator, consider suggestions given below on when and where to use wild card search.
1) Don't overuse wild cards. If another search operator will do, use it instead.
2) When you do use wild cards, try not to use them at the beginning of the search pattern, unless absolutely necessary. Search patterns that begin with wild cards are the slowest to process.
3) Pay careful attention to the placement of the wild card symbols. If they are misplaced, you might not return the data you intended.

23. Define Join and explain different type of joins?
Another frequently asked SQL Interview Questions on Joins. In order to avoid data duplication, data is stored in related tables. Join keyword is used to fetch data from related tables. "Join" return rows when there is at least one match in both table. Type of joins are
Right Join
Return all rows from the right table, even if there are no matches in the left table.
Left Join
Return all rows from the left table, even if there are no matches in the right table.
Full Join
Return rows when there is a match in one of the tables.

24. What is Self-Join?
Self-join is query used to join a table to itself. Aliases should be used for the same table comparison.

25. What is Cross Join?
Cross Join will return all records where each row from the first table is combined with each row from the second table.
Database Views Interview Questions

26. What is a view?
The views are virtual tables. Unlike tables that contain data, views simply contain queries that dynamically retrieve data when used.

27. What is a materialized view?
Materialized views are also a view but are disk based. Materialized views get updates on specific duration, base upon the interval specified in the query definition. We can index materialized view.

28. What are the advantages and disadvantages of views in a database?
1. Views don't store data in a physical location.
2. The view can be used to hide some of the columns from the table.
3. Views can provide Access Restriction, since data insertion, update and deletion is not possible with the view.
1. When a table is dropped, associated view become irrelevant.
2. Since the view is created when a query requesting data from view is triggered, its a bit slow.
3. When views are created for large tables, it occupies more memory.

29. What is a stored procedure?
Stored Procedure is a function which contains a collection of SQL Queries. The procedure can take inputs , process them and send back output.

30. What are the advantages of a stored procedure?
Stored Procedures are precomplied and stored in the database. This enables the database to execute the queries much faster. Since many queries can be included in a stored procedure, round trip time to execute multiple queries from source code to database and back is avoided.

31. What is a trigger?
Database triggers are sets of commands that get executed when an event(Before Insert, After Insert, On Update, On delete of a row) occurs on a table, views.

32. Explain the difference between DELETE , TRUNCATE and DROP commands?
Once delete operation is performed, Commit and Rollback can be performed to retrieve data.
Once the truncate statement is executed, Commit and Rollback statement cannot be performed. Where condition can be used along with delete statement but it can't be used with truncate statement.
Drop command is used to drop the table or keys like primary,foreign from a table.

33. What is the difference between Cluster and Non cluster Index?
A clustered index reorders the way records in the table are physically stored. There can be only one clustered index per table. It makes data retrieval faster.
A non clustered index does not alter the way it was stored but creates a completely separate object within the table. As a result insert and update command will be faster.

34. What is Union, minus and Interact commands?
MINUS operator is used to return rows from the first query but not from the second query. INTERSECT operator is used to return rows returned by both the queries.

Top 50 SQL Interview Questions & Answers

1. What is DBMS? A Database Management System (DBMS) is a program that controls creation, maintenance and use of a database. DBMS can be...