Skip to main content

Sample: Oracle Create, Update, Insert, Triggers, Cursors, Procedures



/* IGNOU MCA SOLVED QUESTION PAPER MCSL-045 DEC-2012*/

create table Sales_Person 
(S_id number, S_name varchar2(30), Experience number, S_Designation varchar2(30), S_product varchar2(30));

create table Sales_Record 
(S_id number, S_target number, S_sold number, S_order number);

create table Sales_Salary 
(S_id number, S_basic number, S_grade number, S_salary number);

/* A trigger for auto update SALARY */

CREATE OR REPLACE TRIGGER CL_SALARY 
AFTER INSERT OR DELETE OR UPDATE ON Sales_Person
BEGIN
    UPDATE SALES_SALARY SET S_SALARY=S_BASIC+S_GRADE;
END CL_SALARY;

INSERT INTO Sales_Person VALUES(5, 'TUHIN SUMANTA', 30,'MANAGER','COSMETICS');

INSERT INTO Sales_Record VALUES(4,70,65,22);

INSERT INTO SALES_SALARY VALUES(5,7850,500,0);

UPDATE SALES_SALARY SET S_SALARY=S_BASIC+S_GRADE;

SELECT * FROM SALES_PERSON;
SELECT * FROM SALES_RECORD;
SELECT * FROM SALES_SALARY;

/* Creating View with JOIN */

CREATE OR REPLACE VIEW S_VIEW_EX 
AS 
SELECT S.S_NAME,S.EXPERIENCE,S.S_Designation,S.S_product,L.S_SALARY 
FROM SALES_PERSON S JOIN SALES_SALARY L 
ON S.S_ID=L.S_ID
WHERE L.S_SALARY>7000 AND S.S_DESIGNATION='EXECUTIVE';

SELECT * FROM S_VIEW_EX;

/* Record fetching by JOIN */

SELECT S.S_NAME,L.S_SALARY,T.S_TARGET,T.S_SOLD,ROUND(T.S_SOLD*100/T.S_TARGET,0) || '%' AS PERCENT_SOLD
FROM SALES_PERSON S JOIN SALES_SALARY L 
ON S.S_ID=L.S_ID JOIN SALES_RECORD T ON L.S_ID=T.S_ID
WHERE L.S_SALARY>1000 AND T.S_TARGET>S_SOLD;

/* Record fetching by JOIN */

SELECT S.S_NAME,L.S_SALARY,T.S_TARGET,T.S_SOLD,ROUND(T.S_SOLD*100/T.S_TARGET,0) || '%' AS PERCENT_SOLD
FROM SALES_PERSON S JOIN SALES_SALARY L 
ON S.S_ID=L.S_ID JOIN SALES_RECORD T ON L.S_ID=T.S_ID
WHERE  S.S_DESIGNATION='EXECUTIVE' AND T.S_TARGET=S_SOLD;


/* Employee searching by their designation */


create or replace
PROCEDURE FETCH_EMP_DETAILS(VDESIG CHAR)
AS
  CURSOR F_EMP_DETAILS
      IS
        SELECT S_name,S_Designation FROM SALES_PERSON WHERE S_Designation = VDESIG;
        VSNAME VARCHAR2(50);
        VSDESIG VARCHAR2(15);
  BEGIN
      OPEN F_EMP_DETAILS; 
      LOOP
        FETCH F_EMP_DETAILS INTO VSNAME,VSDESIG;
        EXIT WHEN NOT F_EMP_DETAILS%FOUND;
        DBMS_OUTPUT.PUT_LINE('EMP NAME : ' || VSNAME);
        DBMS_OUTPUT.PUT_LINE('DESIGNATION : ' || VSDESIG);
      END LOOP;
      CLOSE F_EMP_DETAILS;
END FETCH_EMP_DETAILS;


SET SERVEROUTPUT ON
BEGIN
  FETCH_EMP_DETAILS('EXECUTIVE');
END;



Comments

Popular posts from this blog

Sample : String Reverse In Java

import java.io.*; class test {     public static void main(String args[])     {         DataInputStream in=new DataInputStream(System.in);         try         {             String text;             System.out.println("\nEnter The Text");             text=in.readLine();             System.out.println("\nIn Reverse Order::\n");             for(int i=text.length()-1;i>=0;i--)             {                 System.out.print(text.charAt(i));             }          ...

Using GREP in UNIX

How To Use grep Command In Linux / UNIX by  VIVEK GITE  on  AUGUST 2, 2007  ·  147 COMMENTS H ow do I use grep command in Linux? grep command searches the given file for lines containing a match to the given strings or words. By default, grep prints the matching lines. Use grep to search for lines of text that match one or many regular expressions, and outputs only the matching lines. The name, "grep", derives from the command used to perform a similar operation, using the Unix/Linux text editor ed: g/re/p grep command syntax grep 'word' filename grep 'string1 string2' filename cat otherfile | grep 'something' command | grep 'something' Use grep to search file Search /etc/passwd for boo user: $ grep boo /etc/passwd You can force grep to ignore word case i.e match boo, Boo, BOO and all other combination with -i option: $ grep -i "boo" /etc/passwd Use grep recursively You can search recursively i.e. read all files under each ...