0% found this document useful (0 votes)
42 views9 pages

Cretabs SQL

The document outlines the creation and population of several database tables including DEPT, EMP, CUSTOMER, ORD, ITEM, and others, along with their respective constraints and relationships. It includes SQL commands for inserting data into these tables, defining primary and foreign keys, and establishing relationships between entities. The document serves as a schema setup for a relational database system, likely for a business management application.

Uploaded by

cmironeanu4355
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views9 pages

Cretabs SQL

The document outlines the creation and population of several database tables including DEPT, EMP, CUSTOMER, ORD, ITEM, and others, along with their respective constraints and relationships. It includes SQL commands for inserting data into these tables, defining primary and foreign keys, and establishing relationships between entities. The document serves as a schema setup for a relational database system, likely for a business management application.

Uploaded by

cmironeanu4355
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

/*

drop table emp ;


drop table dept ;
drop table item ;
drop table ord ;
drop table customer ;
drop table review ;
drop table salgrade ;
drop table product ;
drop table transfer ;
drop table price ;
drop table dummy ;
drop sequence prodid ;
drop sequence ordid ;
drop sequence custid ;
drop view sales ;
*/
CREATE TABLE DEPT (
DEPTNO NUMBER(2) NOT NULL,
DNAME VARCHAR2(14),
LOC VARCHAR2(13),
CONSTRAINT DEPT_PRIMARY_KEY PRIMARY KEY (DEPTNO));
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');
CREATE TABLE EMP (
EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4) CONSTRAINT EMP_MGR_FK REFERENCES EMP (EMPNO),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2) NOT NULL,
TARGET NUMBER(6),
CONSTRAINT EMP_DEPTNO_FK FOREIGN KEY (DEPTNO) REFERENCES DEPT (DEPTNO),
CONSTRAINT EMP_EMPNO_PK PRIMARY KEY (EMPNO));
INSERT INTO EMP VALUES (7839,'KING','PRESIDENT',NULL,'17-NOV-81',5000,NULL,10,'');
INSERT INTO EMP VALUES (7698,'BLAKE','MANAGER',7839,'1-MAY-81',2850,NULL,30,'');
INSERT INTO EMP VALUES (7782,'CLARK','MANAGER',7839,'9-JUN-81',2450,NULL,10,'');
INSERT INTO EMP VALUES (7566,'JONES','MANAGER',7839,'2-APR-81',2975,NULL,20,'');
INSERT INTO EMP VALUES (7654,'MARTIN','SALESMAN',7698,'28-SEP-81',1250,1389,30,27776);
INSERT INTO EMP VALUES (7499,'ALLEN','SALESMAN',7698,'20-FEB-81',1600,394,30,7871);
INSERT INTO EMP VALUES (7844,'TURNER','SALESMAN',7698,'8-SEP-81',1500,2690,30,53801);
INSERT INTO EMP VALUES (7900,'JAMES','CLERK',7698,'3-DEC-81',950,NULL,30,'');
INSERT INTO EMP VALUES (7521,'WARD','SALESMAN',7698,'22-FEB-81',1250,495,30,9890);
INSERT INTO EMP VALUES (7902,'FORD','ANALYST',7566,'3-DEC-81',3000,NULL,20,'');
INSERT INTO EMP VALUES (7369,'SMITH','CLERK',7902,'17-DEC-80',800,NULL,20,'');
INSERT INTO EMP VALUES (7788,'SCOTT','ANALYST',7566,'09-DEC-82',3000,NULL,20,'');
INSERT INTO EMP VALUES (7876,'ADAMS','CLERK',7788,'12-JAN-83',1100,NULL,20,'');
INSERT INTO EMP VALUES (7934,'MILLER','CLERK',7782,'23-JAN-82',1300,NULL,10,'');
CREATE TABLE REVIEW (
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
SAL NUMBER(7,2),
BONUS NUMBER(8,2),
PENLZ NUMBER(8,2));
CREATE TABLE SALGRADE (
GRADE NUMBER,
LOSAL NUMBER,
HISAL NUMBER);
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 DUMMY (
DUMMY NUMBER );
INSERT INTO DUMMY VALUES (0);
CREATE TABLE CUSTOMER (
CUSTID NUMBER (6) NOT NULL,
NAME VARCHAR2 (45),
ADDRESS VARCHAR2 (40),
CITY VARCHAR2 (30),
STATE VARCHAR2 (2),
ZIP VARCHAR2 (9),
AREA NUMBER (3),
PHONE VARCHAR2 (9),
REPID NUMBER (4) NOT NULL,
CREDITLIMIT NUMBER (9,2),
COMMENTS LONG,
CONSTRAINT CUSTOMER_CUSTID_PK PRIMARY KEY (CUSTID),
CONSTRAINT CUSTOMER_CUSTID_CK CHECK (CUSTID > 0));
CREATE TABLE ORD (
ORDID NUMBER (4) NOT NULL,
CUSTID NUMBER (6) NOT NULL,
TOTAL NUMBER (8,2),
TOTALTVA NUMBER (8,2),
CONSTRAINT ORD_TOTAL_CK CHECK (TOTAL >= 0),
CONSTRAINT ORD_CUSTID_FK FOREIGN KEY (CUSTID) REFERENCES CUSTOMER (CUSTID),
CONSTRAINT ORD_ORDID_PK PRIMARY KEY (ORDID));
Create table transfer (
ORDID NUMBER (4) NOT NULL,
ORDERDATE DATE,
SHIPDATE DATE
) ;
CREATE TABLE ITEM (
ORDID NUMBER (4) NOT NULL,
ITEMID NUMBER (4) NOT NULL,
PRODID NUMBER (6),
ACTUALPRICE NUMBER (8,2),
QTY NUMBER (8),
ITEMTOT NUMBER (8,2),
TVA NUMBER(6,2),
ITEMGEN NUMBER(9,2),
garantie number(3),
data_expir date,
CONSTRAINT ITEM_ORDID_FK FOREIGN KEY (ORDID) REFERENCES ORD (ORDID),
CONSTRAINT ITEM_ORDID_ITEMID_PK PRIMARY KEY (ORDID,ITEMID));
CREATE TABLE PRODUCT (
PRODID NUMBER (6) CONSTRAINT PRODID_PK PRIMARY KEY,
DESCRIP VARCHAR2 (30),
TVA NUMBER(3),
PROM_ini DATE,
PROM_FIN DATE,
STDGRT NUMBER(3),
D_EXPIR DATE);
CREATE TABLE PRICE (
PRODID NUMBER (6) NOT NULL,
STDQTY NUMBER(6),
STDPRICE NUMBER (8,2),
MINPRICE NUMBER (8,2),
STARTDATE DATE,
ENDDATE DATE);
INSERT INTO CUSTOMER (ZIP, STATE, REPID, PHONE, NAME, CUSTID, CREDITLIMIT,
CITY, AREA, ADDRESS, COMMENTS)
VALUES ('96711', 'CA', '7844', '598-6609',
'JOCKSPORTS',
'100', '6000', 'BELMONT', '415', '345 VIEWRIDGE',
'Very friendly people to work with -- sales rep likes to be called Mike.');
INSERT INTO CUSTOMER (ZIP, STATE, REPID, PHONE, NAME, CUSTID, CREDITLIMIT,
CITY, AREA, ADDRESS, COMMENTS)
VALUES ('94061', 'CA', '7521', '368-1223',
'TKB SPORT SHOP',
'101', '1000', 'REDWOOD CITY', '415', '490 BOLI RD.',
'Rep called 5/8 about change in order - contact shipping.');
INSERT INTO CUSTOMER (ZIP, STATE, REPID, PHONE, NAME, CUSTID, CREDITLIMIT,
CITY, AREA, ADDRESS, COMMENTS)
VALUES ('95133', 'CA', '7654', '644-3341',
'VOLLYRITE',
'102', '32000', 'BURLINGAME', '415', '9722 HAMILTON',
'Company doing heavy promotion beginning 10/89. Prepare for large orders during
winter.');
INSERT INTO CUSTOMER (ZIP, STATE, REPID, PHONE, NAME, CUSTID, CREDITLIMIT,
CITY, AREA, ADDRESS, COMMENTS)
VALUES ('97544', 'CA', '7521', '677-9312',
'JUST TENNIS',
'103', '3000', 'BURLINGAME', '415', 'HILLVIEW MALL',
'Contact rep about new line of tennis rackets.');
INSERT INTO CUSTOMER (ZIP, STATE, REPID, PHONE, NAME, CUSTID, CREDITLIMIT,
CITY, AREA, ADDRESS, COMMENTS)
VALUES ('93301', 'CA', '7499', '996-2323',
'EVERY MOUNTAIN',
'104', '10000', 'CUPERTINO', '408', '574 SURRY RD.',
'Customer with high market share (23%) due to aggressive advertising.');
INSERT INTO CUSTOMER (ZIP, STATE, REPID, PHONE, NAME, CUSTID, CREDITLIMIT,
CITY, AREA, ADDRESS, COMMENTS)
VALUES ('91003', 'CA', '7844', '376-9966',
'K + T SPORTS',
'105', '47000', 'SANTA CLARA', '408', '3476 EL PASEO',
'Tends to order large amounts of merchandise at once. Accounting is considering
raising their credit limit. Usually pays on time.');
INSERT INTO CUSTOMER (ZIP, STATE, REPID, PHONE, NAME, CUSTID, CREDITLIMIT,
CITY, AREA, ADDRESS, COMMENTS)
VALUES ('94301', 'CA', '7521', '364-9777',
'SHAPE UP',
'106', '10500', 'PALO ALTO', '415', '908 SEQUOIA',
'Support intensive. Orders small amounts (< 800) of merchandise at a time.');
INSERT INTO CUSTOMER (ZIP, STATE, REPID, PHONE, NAME, CUSTID, CREDITLIMIT,
CITY, AREA, ADDRESS, COMMENTS)
VALUES ('93301', 'CA', '7499', '967-4398',
'WOMENS SPORTS',
'107', '2000', 'SUNNYVALE', '408', 'VALCO VILLAGE',
'First sporting goods store geared exclusively towards women. Unusual promotion
al style and very willing to take chances towards new products!');
INSERT INTO CUSTOMER (ZIP, STATE, REPID, PHONE, NAME, CUSTID, CREDITLIMIT,
CITY, AREA, ADDRESS, COMMENTS)
VALUES ('55649', 'MN', '7844', '566-9123',
'NORTH WOODS HEALTH AND FITNESS SUPPLY CENTER',
'108', '8000', 'HIBBING', '612', '98 LONE PINE WAY', '');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES (101.4, '610', '101');
INSERT INTO ORD (TOTAL, ORDID, CUSTid)
VALUES ('45', '611', '102');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('5860', '612', '104');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES (2.4, '601', '106');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('56', '602', '102');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('698', '604', '106');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('8324', '605', '106');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES (3.4, '606', '100');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES (97.5, '609', '100');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES (5.6, '607', '104');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES (35.2, '608', '104');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('224', '603', '102');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('4450', '620', '100');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('6400', '613', '108');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('23940','614', '102');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('764', '616', '103');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('1260', '619', '104');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('42120', '617', '105');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('710', '615', '107');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES (3510.5, '618', '102');
INSERT INTO ORD (TOTAL, ORDID, CUSTID)
VALUES ('730', '621', '100');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ( '15-JAN-86', '610', '07-JAN-86');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('20-JAN-87', '611', '11-JAN-87');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ( '25-JAN-87', '612', '15-JAN-87');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('30-MAY-86', '601', '01-MAY-86');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('10-JUN-86', '602', '05-JUN-86');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('30-JUN-86', '604', '15-JUN-86');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ( '30-JUL-86', '605', '14-JUL-86');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('30-JUL-86', '606', '14-JUL-86');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('15-AUG-86', '609', '01-AUG-86');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('28-JUL-86', '607', '18-JUL-86');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('25-JUL-86', '608', '15-JUL-86');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('15-JUN-86', '603', '05-JUN-86');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('27-MAR-87', '620', '12-MAR-87');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('18-FEB-87', '613', '01-FEB-87');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ( '10-FEB-87', '614', '01-FEB-87');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('19-FEB-87', '616', '03-FEB-87');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('24-FEB-87', '619', '10-FEB-87');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ( '03-MAR-87', '617', '05-FEB-87');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('16-FEB-87', '615', '01-FEB-87');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('25-FEB-87', '618', '15-FEB-87');
INSERT INTO TRANSFER (SHIPDATE, ORDID, ORDERDATE)
VALUES ('01-APR-87', '621', '15-MAR-87');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '1', '200376', '601', 2.4, '1', 2.4);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '20', '100870', '602', '56', '1', 2.8);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '4', '100860', '603', '224', '2', '56');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '3', '100890', '604', '174', '1', '58');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '2', '100861', '604', '84', '2', '42');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '10', '100860', '604', '440', '3', '44');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('100', '100861', '605', '4500', '1', '45');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('500', '100870', '605', '1400', '2', 2.8);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('5', '100890', '605', '290', '3', '58');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('50', '101860', '605', '1200', '4', '24');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('100', '101863', '605', '900', '5', '9');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('10', '102130', '605', '34', '6', 3.4);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('1', '102130', '606', 3.4, '1', 3.4);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('1', '100871', '607', 5.6, '1', 5.6);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('1', '101860', '608', '24', '1', '24');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('2', '100871', '608', 11.2, '2', 5.6);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('1', '100861', '609', '35', '1', '35');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('5', '100870', '609', 12.5, '2', 2.5);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('1', '100890', '609', '50', '3', '50');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '1', '100860', '610', '35', '1', '35');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '3', '100870', '610', 8.4, '2', 2.8);
INSERT INTO ITEM (QTY, PRODID, ORDID, ITEMTOT, ITEMID, ACTUALPRICE)
VALUES ('1', '100890', '610', '58', '3', '58');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '1', '100861', '611', '45', '1', '45');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '100', '100860', '612', '3000', '1', '30');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '20', '100861', '612', '810', '2', 40.5);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('150', '101863', '612', '1500', '3', '10');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('100', '100871', '612', '550', '4', 5.5);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '100', '100871', '613', '560', '1', 5.6);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('200', '101860', '613', '4800', '2', '24');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('150', '200380', '613', '600', '3', '4');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '200', '200376', '613', '440', '4', 2.2);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '444', '100860', '614', '15540', '1', '35');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ( '1000', '100870', '614', '2800', '2', 2.8);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('1000', '100871', '614', '5600', '3', 5.6);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('4', '100861', '615', '180', '1', '45');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('100', '100870', '615', '280', '2', 2.8);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('50', '100871', '615', '250', '3', '5');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('10', '100861', '616', '450', '1', '45');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('50', '100870', '616', '140', '2', 2.8);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('2', '100890', '616', '116', '3', '58');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('10', '102130', '616', '34', '4', 3.4);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('10', '200376' , '616', '24', '5', 2.4);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('100', '100861', '617', '4500', '2', '45');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('500', '100870', '617', '1400', '3', 2.8);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('500', '100871', '617', '2800', '4', 5.6);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('500', '100890', '617', '29000', '5', '58');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('100', '101860', '617', '2400', '6', '24');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('100', '102130', '617', '340', '8', 3.4);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('200', '200376', '617', '480', '9', 2.4);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('300', '200380', '617', '1200', '10', '4');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('23', '100860', '618', '805', '1', '35');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('50', '100861', '618', 2255.5, '2', 45.11);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('10', '100870', '618', '450', '3', '45');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('100', '200380', '619', '400', '1', '4');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('100', '200376', '619', '240', '2', 2.4);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('100', '102130', '619', '340', '3', 3.4);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('50', '100871', '619', '280', '4', 5.6);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('10', '100860', '620', '350', '1', '35');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('1000', '200376', '620', '2400', '2', 2.4);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('500', '102130', '620', '1700', '3', 3.4);
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('10', '100861', '621', '450', '1', '45');
INSERT INTO ITEM ( QTY , PRODID , ORDID , ITEMTOT , ITEMID , ACTUALPRICE)
VALUES ('100', '100870', '621', '280', '2', 2.8);
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'4.8', '01-JAN-85', '100871', '3.2', '01-DEC-85');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'58', '01-JAN-85', '100890', '46.4', '');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'54', '01-JUN-84', '100890', '40.5', '31-MAY-84');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'35', '01-JUN-86', '100860', '28', '');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'32', '01-JAN-86', '100860', '25.6', '31-MAY-86');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'30', '01-JAN-85', '100860', '24', '31-DEC-85');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'45', '01-JUN-86', '100861', '36', '');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'42', '01-JAN-86', '100861', '33.6', '31-MAY-86');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'39', '01-JAN-85', '100861', '31.2', '31-DEC-85');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'2.8', '01-JAN-86', '100870', '2.4', '');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'2.4', '01-JAN-85', '100870', '1.9', '01-DEC-85');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'5.6', '01-JAN-86', '100871', '4.8', '');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'24', '15-FEB-85', '101860', '18', '');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'12.5', '15-FEB-85', '101863', '9.4', '');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'3.4', '18-AUG-85', '102130', '2.8', '');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'2.4', '15-NOV-86', '200376', '1.75', '');
INSERT INTO PRICE (STDQTY,STDPRICE, STARTDATE, PRODID, MINPRICE, ENDDATE)
VALUES (0,'4', '15-NOV-86', '200380', '3.2', '');
CREATE INDEX PRICE_INDEX ON PRICE(PRODID, STARTDATE);
INSERT INTO PRODUCT (PRODID, DESCRIP)
VALUES ('100860', 'ACE TENNIS RACKET I');
INSERT INTO PRODUCT (PRODID, DESCRIP)
VALUES ('100861', 'ACE TENNIS RACKET II');
INSERT INTO PRODUCT (PRODID, DESCRIP)
VALUES ('100870', 'ACE TENNIS BALLS-3 PACK');
INSERT INTO PRODUCT (PRODID, DESCRIP)
VALUES ('100871', 'ACE TENNIS BALLS-6 PACK');
INSERT INTO PRODUCT (PRODID, DESCRIP)
VALUES ('100890', 'ACE TENNIS NET');
INSERT INTO PRODUCT (PRODID, DESCRIP)
VALUES ('101860', 'SP TENNIS RACKET');
INSERT INTO PRODUCT (PRODID, DESCRIP)
VALUES ('101863', 'SP JUNIOR RACKET');
INSERT INTO PRODUCT (PRODID, DESCRIP)
VALUES ('102130', 'RH: "GUIDE TO TENNIS"');
INSERT INTO PRODUCT (PRODID, DESCRIP)
VALUES ('200376', 'SB ENERGY BAR-6 PACK');
INSERT INTO PRODUCT (PRODID, DESCRIP)
VALUES ('200380', 'SB VITA SNACK-6 PACK');
CREATE SEQUENCE ORDID
INCREMENT BY 1
START WITH 622
NOCACHE;
CREATE SEQUENCE PRODID
INCREMENT BY 1
START WITH 200381
NOCACHE;
CREATE SEQUENCE CUSTID
INCREMENT BY 1
START WITH 109
NOCACHE;
CREATE VIEW SALES AS
SELECT REPID, ORD.CUSTID, CUSTOMER.NAME CUSTNAME, PRODUCT.PRODID,
DESCRIP PRODNAME, SUM(ITEMTOT) AMOUNT
FROM ORD, ITEM, CUSTOMER, PRODUCT
WHERE ORD.ORDID = ITEM.ORDID
AND ORD.CUSTID = CUSTOMER.CUSTID
AND ITEM.PRODID = PRODUCT.PRODID
GROUP BY REPID, ORD.CUSTID, NAME, PRODUCT.PRODID, DESCRIP
/
Create or replace procedure upd_trsf
is
v_ref number(4) :=1986 ;
v_ani number (4) ;
Cursor c1 is
Select ordid, orderdate, shipdate from transfer ;
Begin
v_ani :=to_char(sysdate,'yyyy')-v_ref ;
For c1_rec in c1 Loop
Update transfer set
orderdate =add_months(orderdate,v_ani*12),
shipdate =add_months(shipdate,v_ani*12)
where ordid =c1_rec.ordid;
End Loop ;
End upd_trsf ;
/
Create or replace procedure upditem
is
begin
Update item set tva=itemtot*.1 ;
Update item set itemgen =itemtot+tva ;
End ;
/
Create or replace function get_totgen
(v_ord ord.ordid%type)
Return item.itemgen%type
is
v_tot item.itemgen%type :=0 ;
Cursor c1 is
Select itemgen from item
where ordid=v_ord ;
Begin
For c1_rec in c1 Loop
v_tot :=v_tot+c1_rec.itemgen ;
End Loop ;
Return v_tot ;
End get_totgen ;
/
Create or replace procedure ordtva
is
v_tot ord.totaltva%type ;
cursor c1 is
Select ordid from ord ;
Begin
For c1_rec in c1 Loop
v_tot :=get_totgen(c1_rec.ordid) ;
Update ord set totaltva = v_tot
where ordid=c1_rec.ordid ;
End Loop ;
End ordtva ;
/
Create or replace procedure putgrt
is
v_grt item.garantie%type ;
v_ship transfer.shipdate%type ;
Cursor c1 is
Select ordid,itemid from item ;
Cursor c2(v_ord item.ordid%type,v_item item.itemid%type)
is
Select itemgen from item
where ordid=v_ord and itemid=v_item ;
Begin
For c1_rec in C1 Loop
Select shipdate into v_ship from transfer where ordid=c1_rec.ordid ;
For c2_rec in C2(c1_rec.ordid,c1_rec.itemid) Loop
If c2_rec.itemgen<=500 then
If c1_rec.ordid=613 and c1_rec.itemid=4 then
v_grt :=3+2;
Else
v_grt :=3+c1_rec.itemid ;
End if;
Elsif c2_rec.itemgen<=2000 then
v_grt:=6 +c1_rec.itemid ;
Elsif c2_rec.itemgen<=4000 then
v_grt:=9 +c1_rec.itemid;
Elsif c2_rec.itemgen>4000 then
v_grt:=12 +c1_rec.itemid ;
End if ;
Update item set garantie=v_grt,
data_expir =add_months(v_ship,v_grt)
where ordid=c1_rec.ordid and itemid=c1_rec.itemid;
End Loop ;
End Loop ;
End putgrt ;
/
Create or replace procedure updprod
is
v_datexp product.d_expir%type ;
Cursor c1
is
Select prodid from product ;
Begin
For c1_rec in c1 Loop
Select max(data_expir) into v_datexp from item
where prodid=c1_rec.prodid ;
--dbms_output.put_line(c1_rec.prodid||' '||d_expir);
Update product
set d_expir=v_datexp, tva=10
where prodid=c1_rec.prodid ;
End Loop;
End updprod;
/
Create or replace function dat_middle
(v_prod product.prodid%type,pozitie number)
Return item.data_expir%type
is
v_datexp item.data_expir%type ;
Cursor c2(v_prod product.prodid%type)
is Select data_expir from item
where prodid=v_prod order by data_expir ;
Begin
For c2_rec in c2(v_prod) Loop
If c2%rowcount=pozitie then
v_datexp :=c2_rec.data_expir;
--dbms_output.put_line(c1_rec.prodid||' '||v_datexp);
Exit ;
End if ;
End Loop ;
Return v_datexp;
End ;
/
Create or replace procedure updprom
is
v_nr number(2);
offset number(1);
d_middle item.data_expir%type;
d_promini product.prom_ini%type;
d_promfin product.prom_ini%type;
Cursor c1 is
Select prodid from product ;
Begin
For c1_rec in c1 Loop
Select count(*) into v_nr from item
where prodid=c1_rec.prodid;
--dbms_output.put_line('Numarul: '||v_nr||' '||round(v_nr/2,0));
if mod(v_nr,2)=0 then
offset :=1;
Else
offset :=0;
End if ;
d_middle:=dat_middle(c1_rec.prodid,round(v_nr/2,0)+offset);
d_promfin:=d_middle-15 ;
Select add_months(d_promfin,-1) into d_promini from dual;
Update product
set prom_ini =d_promini,
prom_fin=d_promfin,
stdgrt =12
where prodid =c1_rec.prodid;
End Loop;
End;
/
execute upd_trsf ;
execute upditem ;
--select tva,itemgen from item where ordid=605 ;
execute putgrt ;
execute updprod;
execute ordtva ;
execute updprom;
--Select * from product;
--Commit ;

You might also like