Oracle Setup Code
From mi-linux
Jump to navigationJump to searchMain Page >> Oracle and SQL >> Workbook >> Oracle Setup Code
Demo tables setup code
host echo "Oracle Version 12c" host echo "Building Demonstration tables. Please wait..." rem rem Emp TABLE rem ========= rem rem 1. Primary key (Enforces NOT NULL too) rem 2. Ensure all data entered in upper case. rem 3. Foreign key must be in related table or be NULL. rem 4. Salary must be greater than 0 rem 5. Commission must be greater than 0 or null. rem host echo "Droping previous version of demonstration tables" DROP TABLE Emp; DROP TABLE Dept; DROP TABLE Bonus; DROP TABLE Salgrade; DROP SEQUENCE ProjSeq; host echo "Previous Demonstration tables removed" host echo "Building DEPT table" CREATE TABLE Dept (deptno NUMBER(2) CONSTRAINT pk_dept PRIMARY KEY, dname VARCHAR2(14) NOT NULL CONSTRAINT uc_dname CHECK (dname=UPPER(dname)), loc VARCHAR2(13) CONSTRAINT uc_loc CHECK (loc=UPPER(loc)) ); rem Now insert the data rem host echo "Inserting data into DEPT table" INSERT INTO Dept VALUES (10,'ACCOUNTING','NEW YORK'); INSERT INTO Dept VALUES (20,'RESEARCH','DALLAS'); INSERT INTO Dept VALUES (30,'SALES','CHICAGO'); INSERT INTO Dept VALUES (40,'OPERATIONS','BOSTON'); host echo "Building Emp table" CREATE TABLE Emp (empno NUMBER(4) CONSTRAINT pk_emp PRIMARY KEY, ename VARCHAR2(10) NOT NULL CONSTRAINT uc_ename CHECK (ename = UPPER(ename)), job VARCHAR2(9) NOT NULL CONSTRAINT uc_job CHECK (job = UPPER(job)), mgr NUMBER(4) CONSTRAINT fk_mgr references Emp(empno), hiredate DATE, sal NUMBER(7,2) NOT NULL CONSTRAINT BD_SAL CHECK (SAL > 0), comm NUMBER(7,2) CONSTRAINT BD_COMM CHECK (COMM >= 0), deptno NUMBER(2) CONSTRAINT FK_DEPTNO references DEPT(DEPTNO) ); host echo "Inserting data into Emp table" rem Management Structure is as follows:- rem rem LEVEL EmpLOYEE JOB rem ========================================= rem rem 1 KING PRESIDENT rem 2 JONES MANAGER rem 3 SCOTT ANALYST rem 4 ADAMS CLERK rem 3 FORD ANALYST rem 4 SMITH CLERK rem 2 BLAKE MANAGER rem 3 ALLEN SALESMAN rem 3 WARD SALESMAN rem 3 MARTIN SALESMAN rem 3 TURNER SALESMAN rem 3 JAMES SALESMAN rem 2 CLARK MANAGER rem 3 MILLER INSERT INTO Emp VALUES (7839,'KING','PRESIDENT',NULL,'17-NOV-1980',5000,NULL,10); INSERT INTO Emp VALUES (7566,'JONES','MANAGER',7839,'2-APR-1991',2975,NULL,20); INSERT INTO Emp VALUES (7788,'SCOTT','ANALYST',7566,SYSDATE-85,3000,NULL,20); INSERT INTO Emp VALUES (7876,'ADAMS','CLERK',7788,SYSDATE-51,1100,NULL,20); INSERT INTO Emp VALUES (7902,'FORD','ANALYST',7566,'3-DEC-1991',3000,NULL,20); INSERT INTO Emp VALUES (7369,'SMITH','CLERK',7902,'17-DEC-1990',800,NULL,20); INSERT INTO Emp VALUES (7698,'BLAKE','MANAGER',7839,'01-MAY-1981',2850,NULL,30); INSERT INTO Emp VALUES (7499,'ALLEN','SALESMAN',7698,'20-FEB-1995',1600,300,30); INSERT INTO Emp VALUES (7521,'WARD','SALESMAN',7698,'22-FEB-1994',1250,500,30); INSERT INTO Emp VALUES (7654,'MARTIN','SALESMAN',7698,'28-SEP-1993',1250,1400,30); INSERT INTO Emp VALUES (7844,'TURNER','SALESMAN',7698,'8-SEP-1981',1500,0,30); INSERT INTO Emp VALUES (7900,'JAMES','CLERK',7698,'3-DEC-1981',950,NULL,30); INSERT INTO Emp VALUES (7782,'CLARK','MANAGER',7839,'09-JUN-1989',2450,NULL,10); INSERT INTO Emp VALUES (7934,'MILLER','CLERK',7782,'23-JAN-1985',1300,NULL,10); INSERT INTO Emp VALUES (8000,'REEVE','MANAGER',7839,'14-MAR-81',4000,0,90); host echo "Building Salgrade table" CREATE TABLE Salgrade (grade NUMBER CONSTRAINT PK_GRADE PRIMARY KEY, losal NUMBER NOT NULL CONSTRAINT BD_LOSAL CHECK (losal > 0), hisal NUMBER NOT NULL, CONSTRAINT BD_HISAL CHECK (hisal >= losal) ); host echo "Inserting data into Salgrade table" INSERT INTO Salgrade VALUES (1,700,1200); INSERT INTO Salgrade VALUES (2,1201,1400); INSERT INTO Salgrade VALUES (3,1401,2000); INSERT INTO Salgrade VALUES (4,2001,3000); INSERT INTO Salgrade VALUES (5,3001,9999); CREATE TABLE Customer (cno NUMBER(4), orderdate DATE, name VARCHAR2(15), city VARCHAR2(15), country VARCHAR2(15), pno NUMBER(4), description VARCHAR2(20), qty NUMBER(4) CHECK (qty >= 1)); INSERT INTO Customer VALUES (0001,'01-JAN-1997','J BOND','STOCKPORT','ENGLAND',1,'BONNET',20); INSERT INTO Customer VALUES (0001,'11-JUN-1997','J BOND','STOCKPORT','ENGLAND',2,'WIDGET',10); INSERT INTO Customer VALUES (0001,'21-APR-1998','J BOND','STOCKPORT','ENGLAND',1,'BONNET',40); INSERT INTO Customer VALUES (0001,'15-AUG-1998','J BOND','STOCKPORT','ENGLAND',3,'PAINT: WHITE',4); INSERT INTO Customer VALUES (0002,'22-APR-1996','B TURPIN','MANCHESTER','ENGLAND',2,'WIDGETS',41); INSERT INTO Customer VALUES (0002,'11-JUN-1997','B TURPIN','MANCHESTER','ENGLAND',1,'BONNET',1); INSERT INTO Customer VALUES (0003,'06-FEB-1996','I PERRY','WOLVERHAMPTON','ENGLAND',5,'NAILS',60); INSERT INTO Customer VALUES (0003,'17-NOV-1997','I PARRY','WOLVERHAMPTON','ENGLAND',3,'PAINT: WHITE',2); INSERT INTO Customer VALUES (0004,'14-JUL-1997','P FOLWER','BIRMINGHAM','ENGLAND',6,'HAMMER',1); INSERT INTO Customer VALUES (0004,'30-MAY-1999','P FOLWER','BIRMIGNAM','ENGLAND',7,'PAINT: BLUE',2); INSERT INTO Customer VALUES (0004,'28-AUG-2000','P FOLWER','BIRMINGHAM','UNITED KINGDOM',11,'WIDGET',40); host echo "Demonstration tables build" COMMIT; DROP TABLE EmpProj; DROP TABLE Proj; DROP VIEW Emp10; DROP VIEW ProjStaff;
Return to the Workbook.