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

Setting up OpenGL environment for Microsoft Visual C++

Hi Friends, before starting the setting up OpenGL environment, please do the following first: 1.       Install Microsoft Visual C++ 6.0 (Comes with Ms Visual Studio 6.0) 2.       Download the file called “opengl95.exe” and “glutdlls.zip” from internet. [Just open browser-> navigate http://www.google.com -> type upper mentioned file name and search -> you will definitely find the appropriate link to download.] 3.       Run opengl95.exe file and it will be extracted and will be generated some files. Copy those files and 4.       Extract the file “glutdlls.zip” and it will also generate some more files. 5.       Now, combine all extracted files from two sources (opengl95.exe and glutdlls.zip) and place in one location. Setting up OpenGL environment for Microsoft Visual C++ With any system, you can start with a C\C++ compiler and install ...

Exp/ Imp vs. ExpDP/ ImpDP in Oracle 10g

ORACLE Export (exp) vs Datapump (expdp)    ORACLE provides two external utilities to transfer database objects from one database to another database. Traditional exports (exp /imp) are introduced before 10g. Then from 10g, ORACLE introduced datapump (expdp / impdp) as an enhancement to traditional export utility. Traditional Export (exp/ imp) This is an ORACLE database external utility, which is used to transfer database objects from one database server to another database server. It allows transferring the database objects over different platforms, different hardware and software configurations. When an export command is executed on a database, database objects are extracted with their dependency objects. That means if it extracts a table, the dependences like indexes, comments, and grants are extracted and written into an export file (binary format dump file). Following is the command to export a full database, Cmd > exp userid=username/password@exportdb_...

C Sample: String Concatenation In C Language

#include<stdio.h> #include<conio.h> #include<string.h> main() { char str1[30],str2[30]; printf("\nEnter 1st String"); gets(str1); printf("\nEnter 2nd String"); gets(str2); concat(str1,str2); printf("Output :: %s",str1); getch(); } concat(char *str1,char *str2) { while(*str1!='\0') str1++;      //Points to end of line while(*str2!='\0') { *str1=*str2; str1++; str2++; }*str1='\0'; }