ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/testsuite/resources/Test10.sql
Revision: 349
Committed: Mon Oct 18 08:39:40 2021 UTC (2 years, 6 months ago) by tony
Content type: application/sql
File size: 95408 byte(s)
Log Message:
FIxes Merged

File Contents

# Content
1 SET SQL DIALECT 3;
2 SET AUTODDL ON;
3
4 CREATE DATABASE 'inet://localhost//tmp/ibx-testsuite/testsuite1.fdb' PAGE_SIZE 8192
5
6 DEFAULT CHARACTER SET NONE;
7 COMMENT ON DATABASE IS 'Employee Test DB';
8
9 /* Domain definitions */
10
11 CREATE DOMAIN ADDRESSLINE AS VARCHAR(30);
12 CREATE DOMAIN BUDGET AS DECIMAL(12,2)
13 DEFAULT 50000;
14 CREATE DOMAIN COUNTRYNAME AS VARCHAR(15);
15 CREATE DOMAIN CUSTNO AS INTEGER;
16 CREATE DOMAIN DEPTNO AS CHAR(3);
17 CREATE DOMAIN EMPNO AS SMALLINT;
18 CREATE DOMAIN FB$OUT_TYPE AS BLOB SUB_TYPE TEXT SEGMENT SIZE 80 NOT NULL;
19 CREATE DOMAIN FIRSTNAME AS VARCHAR(15);
20 CREATE DOMAIN JOBCODE AS VARCHAR(5);
21 CREATE DOMAIN JOBGRADE AS SMALLINT;
22 CREATE DOMAIN LASTNAME AS VARCHAR(20);
23 CREATE DOMAIN PHONENUMBER AS VARCHAR(20);
24 CREATE DOMAIN PONUMBER AS CHAR(8);
25 CREATE DOMAIN PRODTYPE AS VARCHAR(12)
26 DEFAULT 'software' NOT NULL;
27 CREATE DOMAIN PROJNO AS CHAR(5);
28 CREATE DOMAIN SALARY AS NUMERIC(10,2)
29 DEFAULT 0;
30
31 /* Table: COUNTRIES, Owner: SYSDBA */
32
33 CREATE TABLE COUNTRIES
34 (
35 COUNTRY VARCHAR(64) NOT NULL,
36 NONEU SMALLINT,
37 ISO2 CHAR(2),
38 ISO3 CHAR(3),
39 PRIMARY KEY (COUNTRY)
40 );
41 COMMENT ON TABLE COUNTRIES IS 'List of Countries';
42 COMMENT ON COLUMN COUNTRIES.ISO2 IS 'Two Character ISO Country Code';
43
44 /* Table: COUNTRY, Owner: SYSDBA */
45
46 CREATE TABLE COUNTRY
47 (
48 COUNTRY COUNTRYNAME NOT NULL,
49 CURRENCY VARCHAR(10) NOT NULL,
50 PRIMARY KEY (COUNTRY)
51 );
52
53 /* Table: CUSTOMER, Owner: SYSDBA */
54
55 CREATE TABLE CUSTOMER
56 (
57 CUST_NO CUSTNO NOT NULL,
58 CUSTOMER VARCHAR(25) NOT NULL,
59 CONTACT_FIRST FIRSTNAME,
60 CONTACT_LAST LASTNAME,
61 PHONE_NO PHONENUMBER,
62 ADDRESS_LINE1 ADDRESSLINE,
63 ADDRESS_LINE2 ADDRESSLINE,
64 CITY VARCHAR(25),
65 STATE_PROVINCE VARCHAR(15),
66 COUNTRY COUNTRYNAME,
67 POSTAL_CODE VARCHAR(12),
68 ON_HOLD CHAR(1) DEFAULT NULL,
69 LONG_REFERENCE BIGINT,
70 PRIMARY KEY (CUST_NO)
71 );
72
73 /* Table: DEPARTMENT, Owner: SYSDBA */
74
75 CREATE TABLE DEPARTMENT
76 (
77 DEPT_NO DEPTNO NOT NULL,
78 DEPARTMENT VARCHAR(25) NOT NULL,
79 HEAD_DEPT DEPTNO,
80 MNGR_NO EMPNO,
81 BUDGET BUDGET,
82 LOCATION VARCHAR(15),
83 PHONE_NO PHONENUMBER DEFAULT '555-1234',
84 UNIQUE (DEPARTMENT),
85 PRIMARY KEY (DEPT_NO)
86 );
87
88 /* Table: EMPLOYEE, Owner: SYSDBA */
89
90 CREATE TABLE EMPLOYEE
91 (
92 EMP_NO EMPNO NOT NULL,
93 FIRST_NAME FIRSTNAME NOT NULL,
94 LAST_NAME LASTNAME NOT NULL,
95 PHONE_EXT VARCHAR(4),
96 HIRE_DATE TIMESTAMP DEFAULT 'NOW' NOT NULL,
97 DEPT_NO DEPTNO NOT NULL,
98 JOB_CODE JOBCODE NOT NULL,
99 JOB_GRADE JOBGRADE NOT NULL,
100 JOB_COUNTRY COUNTRYNAME NOT NULL,
101 SALARY SALARY NOT NULL,
102 FULL_NAME COMPUTED BY (last_name || ', ' || first_name),
103 PRIMARY KEY (EMP_NO)
104 );
105
106 /* Table: EMPLOYEE_PROJECT, Owner: SYSDBA */
107
108 CREATE TABLE EMPLOYEE_PROJECT
109 (
110 EMP_NO EMPNO NOT NULL,
111 PROJ_ID PROJNO NOT NULL,
112 PRIMARY KEY (EMP_NO, PROJ_ID)
113 );
114
115 /* Table: FB$OUT_TABLE, Owner: SYSDBA */
116
117 CREATE GLOBAL TEMPORARY TABLE FB$OUT_TABLE
118 (
119 LINE_NUM INTEGER,
120 CONTENT FB$OUT_TYPE
121 ) ON COMMIT PRESERVE ROWS ;
122
123 /* Table: ITEST, Owner: SYSDBA */
124
125 CREATE TABLE ITEST
126 (
127 "KEY" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0) NOT NULL,
128 SOMETEXT VARCHAR(64),
129 PRIMARY KEY ("KEY")
130 );
131
132 /* Table: ITEST2, Owner: SYSDBA */
133
134 CREATE TABLE ITEST2
135 (
136 "KEY" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0 INCREMENT BY 1) NOT NULL,
137 SOMETEXT VARCHAR(64),
138 PRIMARY KEY ("KEY")
139 );
140
141 /* Table: JOB, Owner: SYSDBA */
142
143 CREATE TABLE JOB
144 (
145 JOB_CODE JOBCODE NOT NULL,
146 JOB_GRADE JOBGRADE NOT NULL,
147 JOB_COUNTRY COUNTRYNAME NOT NULL,
148 JOB_TITLE VARCHAR(25) NOT NULL,
149 MIN_SALARY SALARY NOT NULL,
150 MAX_SALARY SALARY NOT NULL,
151 JOB_REQUIREMENT BLOB SUB_TYPE TEXT SEGMENT SIZE 400,
152 LANGUAGE_REQ VARCHAR(15)[1:5],
153 PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_COUNTRY)
154 );
155
156 /* Table: PROJECT, Owner: SYSDBA */
157
158 CREATE TABLE PROJECT
159 (
160 PROJ_ID PROJNO NOT NULL,
161 PROJ_NAME VARCHAR(20) NOT NULL,
162 PROJ_DESC BLOB SUB_TYPE TEXT SEGMENT SIZE 800,
163 TEAM_LEADER EMPNO,
164 PRODUCT PRODTYPE,
165 UNIQUE (PROJ_NAME),
166 PRIMARY KEY (PROJ_ID)
167 );
168
169 /* Table: PROJ_DEPT_BUDGET, Owner: SYSDBA */
170
171 CREATE TABLE PROJ_DEPT_BUDGET
172 (
173 FISCAL_YEAR INTEGER NOT NULL,
174 PROJ_ID PROJNO NOT NULL,
175 DEPT_NO DEPTNO NOT NULL,
176 QUART_HEAD_CNT INTEGER[1:4],
177 PROJECTED_BUDGET BUDGET,
178 PRIMARY KEY (FISCAL_YEAR, PROJ_ID, DEPT_NO)
179 );
180
181 /* Table: SALARY_HISTORY, Owner: SYSDBA */
182
183 CREATE TABLE SALARY_HISTORY
184 (
185 EMP_NO EMPNO NOT NULL,
186 CHANGE_DATE TIMESTAMP DEFAULT 'NOW' NOT NULL,
187 UPDATER_ID VARCHAR(20) NOT NULL,
188 OLD_SALARY SALARY NOT NULL,
189 PERCENT_CHANGE DOUBLE PRECISION DEFAULT 0 NOT NULL,
190 NEW_SALARY COMPUTED BY (old_salary + old_salary * percent_change / 100),
191 PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATER_ID)
192 );
193
194 /* Table: SALES, Owner: SYSDBA */
195
196 CREATE TABLE SALES
197 (
198 PO_NUMBER PONUMBER NOT NULL,
199 CUST_NO CUSTNO NOT NULL,
200 SALES_REP EMPNO,
201 ORDER_STATUS VARCHAR(7) DEFAULT 'new' NOT NULL,
202 ORDER_DATE TIMESTAMP DEFAULT 'NOW' NOT NULL,
203 SHIP_DATE TIMESTAMP,
204 DATE_NEEDED TIMESTAMP,
205 PAID CHAR(1) DEFAULT 'n',
206 QTY_ORDERED INTEGER DEFAULT 1 NOT NULL,
207 TOTAL_VALUE DECIMAL(9,2) NOT NULL,
208 DISCOUNT FLOAT DEFAULT 0 NOT NULL,
209 ITEM_TYPE PRODTYPE,
210 AGED COMPUTED BY (ship_date - order_date),
211 PRIMARY KEY (PO_NUMBER)
212 );
213
214 /* External Function declarations */
215
216 DECLARE EXTERNAL FUNCTION ADDDAY
217 TIMESTAMP, INTEGER
218 RETURNS TIMESTAMP
219 ENTRY_POINT 'addDay' MODULE_NAME 'fbudf'
220 ;
221
222
223 DECLARE EXTERNAL FUNCTION I64TRUNCATE
224 NUMERIC(18,0) BY DESCRIPTOR, NUMERIC(18,0) BY DESCRIPTOR
225 RETURNS PARAMETER 2
226 ENTRY_POINT 'fbtruncate' MODULE_NAME 'fbudf'
227 ;
228
229
230 DECLARE EXTERNAL FUNCTION TESTIT
231 TIMESTAMP, INTEGER NULL, CSTRING(10) CHARACTER SET NONE, CSTRING(10) CHARACTER SET NONE BY DESCRIPTOR
232 RETURNS CSTRING(32) CHARACTER SET NONE FREE_IT
233 ENTRY_POINT 'testit' MODULE_NAME 'fbudf'
234 ;
235
236
237 /* Data Starts */
238
239 /* Inserting data into Table: COUNTRY */
240
241 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('USA','Dollar');
242 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('England','Pound');
243 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Canada','CdnDlr');
244 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Switzerland','SFranc');
245 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Japan','Yen');
246 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Italy','Euro');
247 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('France','Euro');
248 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Germany','Euro');
249 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Australia','ADollar');
250 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Hong Kong','HKDollar');
251 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Netherlands','Euro');
252 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Belgium','Euro');
253 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Austria','Euro');
254 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Fiji','FDollar');
255 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Russia','Ruble');
256 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Romania','RLeu');
257 COMMIT;
258
259 /* Inserting data into Table: CUSTOMER */
260
261 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1001,'Signature Design','Dale J.','Little','(619) 530-2710','15500 Pacific Heights Blvd.',NULL,'San Diego','CA','USA','92121',NULL,NULL);
262 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1002,'Dallas Technologies','Glen','Brown','(214) 960-2233','P. O. Box 47000',NULL,'Dallas','TX','USA','75205','*',NULL);
263 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1003,'Buttle, Griffith and Co.','James','Buttle','(617) 488-1864','2300 Newbury Street','Suite 101','Boston','MA','USA','02115',NULL,NULL);
264 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1004,'Central Bank','Elizabeth','Brocket','61 211 99 88','66 Lloyd Street',NULL,'Manchester',NULL,'England','M2 3LA',NULL,NULL);
265 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1005,'DT Systems, LTD.','Tai','Wu','(852) 850 43 98','400 Connaught Road',NULL,'Central Hong Kong',NULL,'Hong Kong',NULL,NULL,NULL);
266 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1006,'DataServe International','Tomas','Bright','(613) 229 3323','2000 Carling Avenue','Suite 150','Ottawa','ON','Canada','K1V 9G1',NULL,NULL);
267 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1007,'Mrs. Beauvais',NULL,'Mrs. Beauvais',NULL,'P.O. Box 22743',NULL,'Pebble Beach','CA','USA','93953',NULL,NULL);
268 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1008,'Anini Vacation Rentals','Leilani','Briggs','(808) 835-7605','3320 Lawai Road',NULL,'Lihue','HI','USA','96766',NULL,NULL);
269 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1009,'Max','Max',NULL,'22 01 23','1 Emerald Cove',NULL,'Turtle Island',NULL,'Fiji',NULL,'*',NULL);
270 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1010,'MPM Corporation','Miwako','Miyamoto','3 880 77 19','2-64-7 Sasazuka',NULL,'Tokyo',NULL,'Japan','150',NULL,NULL);
271 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1011,'Dynamic Intelligence Corp','Victor','Granges','01 221 16 50','Florhofgasse 10',NULL,'Zurich',NULL,'Switzerland','8005',NULL,NULL);
272 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1012,'3D-Pad Corp.','Michelle','Roche','1 43 60 61','22 Place de la Concorde',NULL,'Paris',NULL,'France','75008',NULL,NULL);
273 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1013,'Lorenzi Export, Ltd.','Andreas','Lorenzi','02 404 6284','Via Eugenia, 15',NULL,'Milan',NULL,'Italy','20124',NULL,NULL);
274 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1014,'Dyno Consulting','Greta','Hessels','02 500 5940','Rue Royale 350',NULL,'Brussels',NULL,'Belgium','1210',NULL,NULL);
275 INSERT INTO CUSTOMER (CUST_NO,CUSTOMER,CONTACT_FIRST,CONTACT_LAST,PHONE_NO,ADDRESS_LINE1,ADDRESS_LINE2,CITY,STATE_PROVINCE,COUNTRY,POSTAL_CODE,ON_HOLD,LONG_REFERENCE) VALUES(1015,'GeoTech Inc.','K.M.','Neppelenbroek','(070) 44 91 18','P.0.Box 702',NULL,'Den Haag',NULL,'Netherlands','2514',NULL,NULL);
276 COMMIT;
277
278 /* Inserting data into Table: DEPARTMENT */
279
280 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('000','Corporate Headquarters',NULL,105,1000000,'Monterey','(408) 555-1234');
281 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('100','Sales and Marketing','000',85,2000000,'San Francisco','(415) 555-1234');
282 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('600','Engineering','000',2,1100000,'Monterey','(408) 555-1234');
283 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('900','Finance','000',46,400000,'Monterey','(408) 555-1234');
284 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('180','Marketing','100',NULL,1500000,'San Francisco','(415) 555-1234');
285 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('620','Software Products Div.','600',NULL,1200000,'Monterey','(408) 555-1234');
286 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('621','Software Development','620',NULL,400000,'Monterey','(408) 555-1234');
287 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('622','Quality Assurance','620',9,300000,'Monterey','(408) 555-1234');
288 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('623','Customer Support','620',15,650000,'Monterey','(408) 555-1234');
289 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('670','Consumer Electronics Div.','600',107,1150000,'Burlington, VT','(802) 555-1234');
290 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('671','Research and Development','670',20,460000,'Burlington, VT','(802) 555-1234');
291 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('672','Customer Services','670',94,850000,'Burlington, VT','(802) 555-1234');
292 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('130','Field Office: East Coast','100',11,500000,'Boston','(617) 555-1234');
293 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('140','Field Office: Canada','100',72,500000,'Toronto','(416) 677-1000');
294 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('110','Pacific Rim Headquarters','100',34,600000,'Kuaui','(808) 555-1234');
295 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('115','Field Office: Japan','110',118,500000,'Tokyo','3 5350 0901');
296 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('116','Field Office: Singapore','110',NULL,300000,'Singapore','3 55 1234');
297 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('120','European Headquarters','100',36,700000,'London','71 235-4400');
298 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('121','Field Office: Switzerland','120',141,500000,'Zurich','1 211 7767');
299 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('123','Field Office: France','120',134,400000,'Cannes','58 68 11 12');
300 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('125','Field Office: Italy','120',121,400000,'Milan','2 430 39 39');
301 COMMIT;
302
303 /* Inserting data into Table: EMPLOYEE */
304
305 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(2,'Robert','Nelson','250','1988.12.28 00:00:00.000','600','VP',2,'USA',105900);
306 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(4,'Bruce','Young','233','1988.12.28 00:00:00.000','621','Eng',2,'USA',97500);
307 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(5,'Kim','Lambert','22','1989.02.06 00:00:00.000','130','Eng',2,'USA',102750);
308 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(8,'Leslie','Johnson','410','1989.04.05 00:00:00.000','180','Mktg',3,'USA',64635);
309 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(9,'Phil','Forest','229','1989.04.17 00:00:00.000','622','Mngr',3,'USA',75060);
310 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(11,'K. J.','Weston','34','1990.01.17 00:00:00.000','130','SRep',4,'USA',86292.94);
311 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(12,'Terri','Lee','256','1990.05.01 00:00:00.000','000','Admin',4,'USA',53793);
312 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(14,'Stewart','Hall','227','1990.06.04 00:00:00.000','900','Finan',3,'USA',69482.63);
313 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(15,'Katherine','Young','231','1990.06.14 00:00:00.000','623','Mngr',3,'USA',67241.25);
314 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(20,'Chris','Papadopoulos','887','1990.01.01 00:00:00.000','671','Mngr',3,'USA',89655);
315 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(24,'Pete','Fisher','888','1990.09.12 00:00:00.000','671','Eng',3,'USA',81810.19);
316 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(28,'Ann','Bennet','5','1991.02.01 00:00:00.000','120','Admin',5,'England',22935);
317 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(29,'Roger','De Souza','288','1991.02.18 00:00:00.000','623','Eng',3,'USA',69482.63);
318 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(34,'Janet','Baldwin','2','1991.03.21 00:00:00.000','110','Sales',3,'USA',61637.8);
319 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(36,'Roger','Reeves','6','1991.04.25 00:00:00.000','120','Sales',3,'England',33620.63);
320 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(37,'Willie','Stansbury','7','1991.04.25 00:00:00.000','120','Eng',4,'England',39224.06);
321 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(44,'Leslie','Phong','216','1991.06.03 00:00:00.000','623','Eng',4,'USA',56034.38);
322 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(45,'Ashok','Ramanathan','209','1991.08.01 00:00:00.000','621','Eng',3,'USA',80689.5);
323 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(46,'Walter','Steadman','210','1991.08.09 00:00:00.000','900','CFO',1,'USA',116100);
324 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(52,'Carol','Nordstrom','420','1991.10.02 00:00:00.000','180','PRel',4,'USA',42742.5);
325 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(61,'Luke','Leung','3','1992.02.18 00:00:00.000','110','SRep',4,'USA',68805);
326 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(65,'Sue Anne','O''Brien','877','1992.03.23 00:00:00.000','670','Admin',5,'USA',31275);
327 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(71,'Jennifer M.','Burbank','289','1992.04.15 00:00:00.000','622','Eng',3,'USA',53167.5);
328 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(72,'Claudia','Sutherland',NULL,'1992.04.20 00:00:00.000','140','SRep',4,'Canada',100914);
329 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(83,'Dana','Bishop','290','1992.06.02 00:00:00.000','621','Eng',3,'USA',62550.02);
330 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(85,'Mary S.','MacDonald','477','1992.06.01 00:00:00.000','100','VP',2,'USA',111262.5);
331 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(94,'Randy','Williams','892','1992.08.08 00:00:00.000','672','Mngr',4,'USA',56295);
332 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(105,'Oliver H A','Bender','255','1992.10.08 00:00:00.000','000','CEO',1,'USA',212850);
333 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(107,'Kevin','Cook','894','1993.02.01 00:00:00.000','670','Dir',2,'USA',111262.5);
334 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(109,'Kelly','Brown','202','1993.02.04 00:00:00.000','600','Admin',5,'USA',27000.01);
335 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(110,'Yuki','Ichida','22','1993.02.04 00:00:00.000','115','Eng',3,'Japan',6000000);
336 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(113,'Mary','Page','845','1993.04.12 00:00:00.000','671','Eng',4,'USA',48000);
337 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(114,'Bill','Parker','247','1993.06.01 00:00:00.000','623','Eng',5,'USA',35000);
338 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(118,'Takashi','Yamamoto','23','1993.07.01 00:00:00.000','115','SRep',4,'Japan',7480000);
339 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(121,'Roberto','Ferrari','1','1993.07.12 00:00:00.000','125','SRep',4,'USA',33000.01);
340 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(127,'Michael','Yanowski','492','1993.08.09 00:00:00.000','100','SRep',4,'USA',44000);
341 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(134,'Jacques','Glon',NULL,'1993.08.23 00:00:00.000','123','SRep',4,'France',38500);
342 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(136,'Scott','Johnson','265','1993.09.13 00:00:00.000','623','Doc',3,'USA',60000);
343 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(138,'T.J.','Green','218','1993.11.01 00:00:00.000','621','Eng',4,'USA',36000);
344 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(141,'Pierre','Osborne',NULL,'1994.01.03 00:00:00.000','121','SRep',4,'Switzerland',110000);
345 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(144,'John','Montgomery','820','1994.03.30 00:00:00.000','672','Eng',5,'USA',35000);
346 INSERT INTO EMPLOYEE (EMP_NO,FIRST_NAME,LAST_NAME,PHONE_EXT,HIRE_DATE,DEPT_NO,JOB_CODE,JOB_GRADE,JOB_COUNTRY,SALARY) VALUES(145,'Mark','Guckenheimer','221','1994.05.02 00:00:00.000','622','Eng',5,'USA',32000);
347 COMMIT;
348
349 /* Inserting data into Table: EMPLOYEE_PROJECT */
350
351 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(144,'DGPII');
352 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(113,'DGPII');
353 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(24,'DGPII');
354 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(8,'VBASE');
355 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(136,'VBASE');
356 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(15,'VBASE');
357 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(71,'VBASE');
358 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(145,'VBASE');
359 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(44,'VBASE');
360 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(4,'VBASE');
361 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(83,'VBASE');
362 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(138,'VBASE');
363 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(45,'VBASE');
364 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(20,'GUIDE');
365 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(24,'GUIDE');
366 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(113,'GUIDE');
367 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(8,'GUIDE');
368 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(4,'MAPDB');
369 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(71,'MAPDB');
370 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(46,'MKTPR');
371 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(105,'MKTPR');
372 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(12,'MKTPR');
373 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(85,'MKTPR');
374 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(110,'MKTPR');
375 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(34,'MKTPR');
376 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(8,'MKTPR');
377 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(14,'MKTPR');
378 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(52,'MKTPR');
379 COMMIT;
380
381 /* Inserting data into Table: ITEST */
382
383 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(1,'Testing');
384 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(3,'Another');
385 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(4,'Test');
386 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(7,'Test');
387 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(8,'Again');
388 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(9,'Test');
389 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(10,' 2');
390 COMMIT;
391
392 /* Inserting data into Table: JOB */
393
394 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('CEO',1,'USA','Chief Executive Officer',130000,250000,'No specific requirements.
395 ',NULL);
396 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('CFO',1,'USA','Chief Financial Officer',85000,140000,'15+ years in finance or 5+ years as a CFO
397 with a proven track record.
398 MBA or J.D. degree.
399 ',NULL);
400 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('VP',2,'USA','Vice President',80000,130000,'No specific requirements.
401 ',NULL);
402 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Dir',2,'USA','Director',75000,120000,'5-10 years as a director in computer or electronics industries.
403 An advanced degree.
404 ',NULL);
405 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Mngr',3,'USA','Manager',60000,100000,'BA/BS required.
406 3-5 years in management,
407 plus 2-4 years engineering experience.
408 ',NULL);
409 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Mngr',4,'USA','Manager',30000,60000,'5+ years office management experience.
410 ',NULL);
411 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Admin',4,'USA','Administrative Assistant',35000,55000,'3-5 years experience in executive environment.
412 Strong organizational and communication skills required.
413 BA degree preferred.
414 ',NULL);
415 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Admin',5,'USA','Administrative Assistant',20000,40000,'2-4 years clerical experience.
416 Facility with word processing and data entry.
417 AA degree preferred.
418 ',NULL);
419 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Admin',5,'England','Administrative Assistant',13400,26800,NULL,NULL);
420 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('PRel',4,'USA','Public Relations Rep.',25000,65000,NULL,NULL);
421 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Mktg',3,'USA','Marketing Analyst',40000,80000,'MBA required.
422 10+ years experience in high tech environment.
423 ',NULL);
424 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Mktg',4,'USA','Marketing Analyst',20000,50000,'BA/BS required. MBA preferred.
425 3-5 years experience.
426 Knowledgeable with spreadsheets and databases.
427 ',NULL);
428 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Accnt',4,'USA','Accountant',28000,55000,'CPA with 3-5 years experience.
429 Spreadsheet, data entry, and word processing knowledge required.
430 ',NULL);
431 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Finan',3,'USA','Financial Analyst',35000,85000,'5-10 years of accounting and financial experience.
432 Strong analytical skills.
433 CPA/MBA required.
434 ',NULL);
435 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Eng',2,'USA','Engineer',70000,110000,'Distinguished engineer.
436 Ph.D/MS/BS or equivalent experience.
437 ',NULL);
438 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Eng',3,'USA','Engineer',50000,90000,'5+ years experience.
439 BA/BS required.
440 MS degree preferred.
441 ',NULL);
442 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Eng',3,'Japan','Engineer',5400000,9720000,'5+ years experience.
443 BA/BS and/or MS degrees required.
444 Customer support experience desired.
445 Knowledge of Japanese and English.
446 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
447 <elt ix="1">Japanese
448 </elt>
449 <elt ix="2">Mandarin
450 </elt>
451 <elt ix="3">English
452 </elt>
453 <elt ix="4">
454 </elt>
455 <elt ix="5">
456 </elt>
457 </array>
458 );
459 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Eng',4,'USA','Engineer',30000,65000,'BA/BS and 3-5 years experience.
460 ',NULL);
461 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Eng',4,'England','Engineer',20100,43550,'BA/BS and
462 2-4 years experience in technical support.
463 Knowledge of several European languages helpful.
464 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
465 <elt ix="1">English
466 </elt>
467 <elt ix="2">German
468 </elt>
469 <elt ix="3">French
470 </elt>
471 <elt ix="4">
472 </elt>
473 <elt ix="5">
474 </elt>
475 </array>
476 );
477 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Eng',5,'USA','Engineer',25000,35000,'BA/BS preferred.
478 2-4 years technical experience.
479 ',NULL);
480 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Doc',3,'USA','Technical Writer',38000,60000,'4+ years writing highly technical
481 software documentation.
482 A bachelor''s degree or equivalent.
483 Programming experience required.
484 Excellent language skills.
485 ',NULL);
486 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Doc',5,'USA','Technical Writer',22000,40000,'BA in English/journalism or excellent language skills.
487 Some programming experience required.
488 2-4 years of technical writing.
489 ',NULL);
490 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Sales',3,'USA','Sales Co-ordinator',40000,70000,'Experience in sales and public relations
491 in a high tech environment.
492 Excellent communication skills.
493 BA or equivalent.
494 ',NULL);
495 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('Sales',3,'England','Sales Co-ordinator',26800,46900,'Experience in sales and public relations
496 in a high tech environment.
497 Excellent communication skills.
498 BA or equivalent.
499 Knowledge of several European languages helpful.
500 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
501 <elt ix="1">English
502 </elt>
503 <elt ix="2">German
504 </elt>
505 <elt ix="3">French
506 </elt>
507 <elt ix="4">
508 </elt>
509 <elt ix="5">
510 </elt>
511 </array>
512 );
513 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('SRep',4,'USA','Sales Representative',20000,100000,'Computer/electronics industry sales experience.
514 Excellent communications, negotiation, and analytical skills.
515 Experience in establishing long term customer relationships.
516 Some knowledge of Spanish required.
517 Travel required.
518 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
519 <elt ix="1">English
520 </elt>
521 <elt ix="2">Spanish
522 </elt>
523 <elt ix="3">
524 </elt>
525 <elt ix="4">
526 </elt>
527 <elt ix="5">
528 </elt>
529 </array>
530 );
531 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('SRep',4,'England','Sales Representative',13400,67000,'Computer/electronics industry sales experience.
532 Excellent communications, negotiation, and analytical skills.
533 Experience in establishing long term customer relationships.
534 Knowledge of several European languages helpful.
535 Travel required.
536 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
537 <elt ix="1">English
538 </elt>
539 <elt ix="2">German
540 </elt>
541 <elt ix="3">French
542 </elt>
543 <elt ix="4">
544 </elt>
545 <elt ix="5">
546 </elt>
547 </array>
548 );
549 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('SRep',4,'Canada','Sales Representative',26400,132000,'Computer/electronics industry sales experience.
550 Excellent communications, negotiation, and analytical skills.
551 Experience in establishing long term customer relationships.
552 Travel required.
553 English plus speaking knowledge of French required.
554 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
555 <elt ix="1">English
556 </elt>
557 <elt ix="2">French
558 </elt>
559 <elt ix="3">
560 </elt>
561 <elt ix="4">
562 </elt>
563 <elt ix="5">
564 </elt>
565 </array>
566 );
567 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('SRep',4,'Switzerland','Sales Representative',28000,149000,'Computer/electronics industry sales experience.
568 Excellent communications, negotiation, and analytical skills.
569 Experience in establishing long term customer relationships.
570 Knowledge of German required; one or more other European language helpful.
571 Travel required.
572 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
573 <elt ix="1">German
574 </elt>
575 <elt ix="2">French
576 </elt>
577 <elt ix="3">English
578 </elt>
579 <elt ix="4">Italian
580 </elt>
581 <elt ix="5">
582 </elt>
583 </array>
584 );
585 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('SRep',4,'Japan','Sales Representative',2160000,10800000,'Computer/electronics industry sales experience.
586 Excellent communications, negotiation, and analytical skills.
587 Experience in establishing long term customer relationships.
588 Knowledge of Japanese required.
589 Travel required.
590 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
591 <elt ix="1">Japanese
592 </elt>
593 <elt ix="2">English
594 </elt>
595 <elt ix="3">
596 </elt>
597 <elt ix="4">
598 </elt>
599 <elt ix="5">
600 </elt>
601 </array>
602 );
603 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('SRep',4,'Italy','Sales Representative',20000,100000,'Computer/electronics industry sales experience.
604 Excellent communications, negotiation, and analytical skills.
605 Experience in establishing long term customer relationships.
606 Fluency in Italian; some knowledge of German helpful.
607 Travel required.
608 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
609 <elt ix="1">Italian
610 </elt>
611 <elt ix="2">German
612 </elt>
613 <elt ix="3">French
614 </elt>
615 <elt ix="4">
616 </elt>
617 <elt ix="5">
618 </elt>
619 </array>
620 );
621 INSERT INTO JOB (JOB_CODE,JOB_GRADE,JOB_COUNTRY,JOB_TITLE,MIN_SALARY,MAX_SALARY,JOB_REQUIREMENT,LANGUAGE_REQ) VALUES('SRep',4,'France','Sales Representative',20000,100000,'Computer/electronics industry sales experience.
622 Excellent communications, negotiation, and analytical skills.
623 Experience in establishing long term customer relationships.
624 Fluency in French; some knowledge of German/Spanish helpful.
625 Travel required.
626 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
627 <elt ix="1">English
628 </elt>
629 <elt ix="2">French
630 </elt>
631 <elt ix="3">Spanish
632 </elt>
633 <elt ix="4">
634 </elt>
635 <elt ix="5">
636 </elt>
637 </array>
638 );
639 COMMIT;
640
641 /* Inserting data into Table: PROJECT */
642
643 INSERT INTO PROJECT (PROJ_ID,PROJ_NAME,PROJ_DESC,TEAM_LEADER,PRODUCT) VALUES('VBASE','Video Database','Design a video data base management system for
644 controlling on-demand video distribution.
645 ',45,'software');
646 INSERT INTO PROJECT (PROJ_ID,PROJ_NAME,PROJ_DESC,TEAM_LEADER,PRODUCT) VALUES('DGPII','DigiPizza','Develop second generation digital pizza maker
647 with flash-bake heating element and
648 digital ingredient measuring system.
649 ',24,'other');
650 INSERT INTO PROJECT (PROJ_ID,PROJ_NAME,PROJ_DESC,TEAM_LEADER,PRODUCT) VALUES('GUIDE','AutoMap','Develop a prototype for the automobile version of
651 the hand-held map browsing device.
652 ',20,'hardware');
653 INSERT INTO PROJECT (PROJ_ID,PROJ_NAME,PROJ_DESC,TEAM_LEADER,PRODUCT) VALUES('MAPDB','MapBrowser port','Port the map browsing database software to run
654 on the automobile model.
655 ',4,'software');
656 INSERT INTO PROJECT (PROJ_ID,PROJ_NAME,PROJ_DESC,TEAM_LEADER,PRODUCT) VALUES('HWRII','Translator upgrade','Integrate the hand-writing recognition module into the
657 universal language translator.
658 ',NULL,'software');
659 INSERT INTO PROJECT (PROJ_ID,PROJ_NAME,PROJ_DESC,TEAM_LEADER,PRODUCT) VALUES('MKTPR','Marketing project 3','Expand marketing and sales in the Pacific Rim.
660 Set up a field office in Australia and Singapore.
661 ',85,'N/A');
662 COMMIT;
663
664 /* Inserting data into Table: PROJ_DEPT_BUDGET */
665
666 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'GUIDE','100',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
667 <elt ix="1">1</elt>
668 <elt ix="2">1</elt>
669 <elt ix="3">1</elt>
670 <elt ix="4">0</elt>
671 </array>
672 ,200000);
673 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'GUIDE','671',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
674 <elt ix="1">3</elt>
675 <elt ix="2">2</elt>
676 <elt ix="3">1</elt>
677 <elt ix="4">0</elt>
678 </array>
679 ,450000);
680 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1993,'MAPDB','621',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
681 <elt ix="1">0</elt>
682 <elt ix="2">0</elt>
683 <elt ix="3">0</elt>
684 <elt ix="4">1</elt>
685 </array>
686 ,20000);
687 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'MAPDB','621',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
688 <elt ix="1">2</elt>
689 <elt ix="2">1</elt>
690 <elt ix="3">0</elt>
691 <elt ix="4">0</elt>
692 </array>
693 ,40000);
694 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'MAPDB','622',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
695 <elt ix="1">1</elt>
696 <elt ix="2">1</elt>
697 <elt ix="3">0</elt>
698 <elt ix="4">0</elt>
699 </array>
700 ,60000);
701 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'MAPDB','671',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
702 <elt ix="1">1</elt>
703 <elt ix="2">1</elt>
704 <elt ix="3">0</elt>
705 <elt ix="4">0</elt>
706 </array>
707 ,11000);
708 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'HWRII','670',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
709 <elt ix="1">1</elt>
710 <elt ix="2">1</elt>
711 <elt ix="3">1</elt>
712 <elt ix="4">1</elt>
713 </array>
714 ,20000);
715 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'HWRII','621',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
716 <elt ix="1">2</elt>
717 <elt ix="2">3</elt>
718 <elt ix="3">2</elt>
719 <elt ix="4">1</elt>
720 </array>
721 ,400000);
722 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'HWRII','622',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
723 <elt ix="1">1</elt>
724 <elt ix="2">1</elt>
725 <elt ix="3">2</elt>
726 <elt ix="4">2</elt>
727 </array>
728 ,100000);
729 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'MKTPR','623',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
730 <elt ix="1">1</elt>
731 <elt ix="2">1</elt>
732 <elt ix="3">1</elt>
733 <elt ix="4">2</elt>
734 </array>
735 ,80000);
736 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'MKTPR','672',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
737 <elt ix="1">1</elt>
738 <elt ix="2">1</elt>
739 <elt ix="3">1</elt>
740 <elt ix="4">2</elt>
741 </array>
742 ,100000);
743 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'MKTPR','100',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
744 <elt ix="1">4</elt>
745 <elt ix="2">5</elt>
746 <elt ix="3">6</elt>
747 <elt ix="4">6</elt>
748 </array>
749 ,1000000);
750 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'MKTPR','110',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
751 <elt ix="1">2</elt>
752 <elt ix="2">2</elt>
753 <elt ix="3">0</elt>
754 <elt ix="4">3</elt>
755 </array>
756 ,200000);
757 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'MKTPR','000',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
758 <elt ix="1">1</elt>
759 <elt ix="2">1</elt>
760 <elt ix="3">2</elt>
761 <elt ix="4">2</elt>
762 </array>
763 ,100000);
764 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1995,'MKTPR','623',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
765 <elt ix="1">7</elt>
766 <elt ix="2">7</elt>
767 <elt ix="3">4</elt>
768 <elt ix="4">4</elt>
769 </array>
770 ,1200000);
771 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1995,'MKTPR','672',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
772 <elt ix="1">2</elt>
773 <elt ix="2">3</elt>
774 <elt ix="3">3</elt>
775 <elt ix="4">3</elt>
776 </array>
777 ,800000);
778 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1995,'MKTPR','100',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
779 <elt ix="1">4</elt>
780 <elt ix="2">5</elt>
781 <elt ix="3">6</elt>
782 <elt ix="4">6</elt>
783 </array>
784 ,2000000);
785 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1995,'MKTPR','110',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
786 <elt ix="1">1</elt>
787 <elt ix="2">1</elt>
788 <elt ix="3">1</elt>
789 <elt ix="4">1</elt>
790 </array>
791 ,1200000);
792 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'VBASE','621',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
793 <elt ix="1">4</elt>
794 <elt ix="2">5</elt>
795 <elt ix="3">5</elt>
796 <elt ix="4">3</elt>
797 </array>
798 ,1900000);
799 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1995,'VBASE','621',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
800 <elt ix="1">4</elt>
801 <elt ix="2">3</elt>
802 <elt ix="3">2</elt>
803 <elt ix="4">2</elt>
804 </array>
805 ,900000);
806 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'VBASE','622',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
807 <elt ix="1">2</elt>
808 <elt ix="2">2</elt>
809 <elt ix="3">2</elt>
810 <elt ix="4">1</elt>
811 </array>
812 ,400000);
813 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1994,'VBASE','100',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
814 <elt ix="1">1</elt>
815 <elt ix="2">1</elt>
816 <elt ix="3">2</elt>
817 <elt ix="4">3</elt>
818 </array>
819 ,300000);
820 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1995,'VBASE','100',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
821 <elt ix="1">3</elt>
822 <elt ix="2">3</elt>
823 <elt ix="3">1</elt>
824 <elt ix="4">1</elt>
825 </array>
826 ,1500000);
827 INSERT INTO PROJ_DEPT_BUDGET (FISCAL_YEAR,PROJ_ID,DEPT_NO,QUART_HEAD_CNT,PROJECTED_BUDGET) VALUES(1996,'VBASE','100',<array dim = "1" sqltype = "496" length = "4" relation_name = "PROJ_DEPT_BUDGET" column_name = "QUART_HEAD_CNT" scale = "0" bounds="1:4">
828 <elt ix="1">1</elt>
829 <elt ix="2">1</elt>
830 <elt ix="3">0</elt>
831 <elt ix="4">0</elt>
832 </array>
833 ,150000);
834 COMMIT;
835
836 /* Inserting data into Table: SALARY_HISTORY */
837
838 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(28,'1992.12.15 00:00:00.000','admin2',20000,10);
839 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(2,'1992.12.15 00:00:00.000','admin2',98000,8.0612);
840 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(4,'1992.12.15 00:00:00.000','admin2',90000,8.3333);
841 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(5,'1992.12.15 00:00:00.000','admin2',95000,8.1578);
842 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(11,'1992.12.15 00:00:00.000','admin2',70000,7.5);
843 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(12,'1992.12.15 00:00:00.000','admin2',48000,7.5);
844 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(14,'1992.12.15 00:00:00.000','admin2',62000,7.5);
845 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(15,'1992.12.15 00:00:00.000','admin2',60000,7.5);
846 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(20,'1992.12.15 00:00:00.000','admin2',80000,7.5);
847 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(24,'1992.12.15 00:00:00.000','admin2',73000,7.5);
848 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(29,'1992.12.15 00:00:00.000','admin2',62000,7.5);
849 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(34,'1992.12.15 00:00:00.000','admin2',55000,7.5);
850 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(36,'1992.12.15 00:00:00.000','admin2',30000,7.5);
851 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(37,'1992.12.15 00:00:00.000','admin2',35000,7.5);
852 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(44,'1992.12.15 00:00:00.000','admin2',50000,7.5);
853 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(45,'1992.12.15 00:00:00.000','admin2',72000,7.5);
854 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(8,'1993.09.08 00:00:00.000','elaine',62000,4.25);
855 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(9,'1993.09.08 00:00:00.000','elaine',72000,4.25);
856 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(11,'1993.09.08 00:00:00.000','elaine',75250,4.25);
857 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(12,'1993.09.08 00:00:00.000','elaine',51600,4.25);
858 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(14,'1993.09.08 00:00:00.000','elaine',66650,4.25);
859 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(15,'1993.09.08 00:00:00.000','elaine',64500,4.25);
860 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(20,'1993.09.08 00:00:00.000','elaine',86000,4.25);
861 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(24,'1993.09.08 00:00:00.000','elaine',78475,4.25);
862 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(28,'1993.09.08 00:00:00.000','elaine',22000,4.25);
863 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(29,'1993.09.08 00:00:00.000','elaine',66650,4.25);
864 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(34,'1993.09.08 00:00:00.000','elaine',59125,4.2499);
865 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(36,'1993.09.08 00:00:00.000','elaine',32250,4.25);
866 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(37,'1993.09.08 00:00:00.000','elaine',37625,4.2499);
867 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(44,'1993.09.08 00:00:00.000','elaine',53750,4.25);
868 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(45,'1993.09.08 00:00:00.000','elaine',77400,4.25);
869 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(52,'1993.09.08 00:00:00.000','elaine',41000,4.25);
870 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(61,'1993.09.08 00:00:00.000','elaine',60000,4.25);
871 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(65,'1993.09.08 00:00:00.000','elaine',30000,4.25);
872 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(71,'1993.09.08 00:00:00.000','elaine',51000,4.25);
873 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(72,'1993.09.08 00:00:00.000','elaine',88000,4.25);
874 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(83,'1993.09.08 00:00:00.000','elaine',60000,4.25);
875 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(94,'1993.09.08 00:00:00.000','elaine',54000,4.25);
876 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(46,'1993.12.20 00:00:00.000','tj',120000,-3.25);
877 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(85,'1993.12.20 00:00:00.000','tj',115000,-3.25);
878 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(105,'1993.12.20 00:00:00.000','tj',220000,-3.25);
879 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(107,'1993.12.20 00:00:00.000','tj',115000,-3.25);
880 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(11,'1993.12.20 00:00:00.000','elaine',78448.13,9.9999);
881 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(61,'1993.12.20 00:00:00.000','elaine',62550,10);
882 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(72,'1993.12.20 00:00:00.000','elaine',91740,10);
883 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(118,'1993.12.20 00:00:00.000','elaine',6800000,10);
884 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(121,'1993.12.20 00:00:00.000','elaine',30000,10);
885 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(127,'1993.12.20 00:00:00.000','elaine',40000,10);
886 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(134,'1993.12.20 00:00:00.000','elaine',35000,10);
887 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(28,'2017.11.06 16:46:27.145','SYSDBA',22935,0);
888 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(28,'2017.11.06 16:47:01.376','SYSDBA',22935.01,0);
889 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(12,'2017.12.29 12:18:48.909','SYSDBA',53793,0);
890 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(12,'2017.12.29 12:18:58.051','SYSDBA',53793.01,0);
891 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(83,'2018.01.04 10:57:34.245','SYSDBA',62550,0);
892 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(121,'2018.03.13 15:29:08.850','SYSDBA',33000,0);
893 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(109,'2018.03.13 17:12:06.340','SYSDBA',27000,0);
894 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(34,'2018.03.13 17:13:20.671','SYSDBA',61637.81,0);
895 INSERT INTO SALARY_HISTORY (EMP_NO,CHANGE_DATE,UPDATER_ID,OLD_SALARY,PERCENT_CHANGE) VALUES(83,'2018.03.13 17:13:35.845','SYSDBA',62550.01,0);
896 COMMIT;
897
898 /* Inserting data into Table: SALES */
899
900 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V91E0210',1004,11,'shipped','1991.03.04 00:00:00.000','1991.03.05 00:00:00.000',NULL,'y',10,5000,0.100000001490116,'hardware');
901 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V92E0340',1004,11,'shipped','1992.10.15 00:00:00.000','1992.10.16 00:00:00.000','1992.10.17 00:00:00.000','y',7,70000,0,'hardware');
902 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V92J1003',1010,61,'shipped','1992.07.26 00:00:00.000','1992.08.04 00:00:00.000','1992.09.15 00:00:00.000','y',15,2985,0,'software');
903 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93J2004',1010,118,'shipped','1993.10.30 00:00:00.000','1993.12.02 00:00:00.000','1993.11.15 00:00:00.000','y',3,210,0,'software');
904 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93J3100',1010,118,'shipped','1993.08.20 00:00:00.000','1993.08.20 00:00:00.000',NULL,'y',16,18000.4,0.100000001490116,'software');
905 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V92F3004',1012,11,'shipped','1992.10.15 00:00:00.000','1993.01.16 00:00:00.000','1993.01.16 00:00:00.000','y',3,2000,0,'software');
906 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93F3088',1012,134,'shipped','1993.08.27 00:00:00.000','1993.09.08 00:00:00.000',NULL,'n',10,10000,0,'software');
907 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93F2030',1012,134,'open','1993.12.12 00:00:00.000',NULL,NULL,'y',15,450000.49,0,'hardware');
908 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93F2051',1012,134,'waiting','1993.12.18 00:00:00.000',NULL,'1994.03.01 00:00:00.000','n',1,999.98,0,'software');
909 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93H0030',1005,118,'open','1993.12.12 00:00:00.000',NULL,'1994.01.01 00:00:00.000','y',20,5980,0.200000002980232,'software');
910 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V94H0079',1005,61,'open','1994.02.13 00:00:00.000',NULL,'1994.04.20 00:00:00.000','n',10,9000,0.0500000007450581,'software');
911 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9324200',1001,72,'shipped','1993.08.09 00:00:00.000','1993.08.09 00:00:00.000','1993.08.17 00:00:00.000','y',1000,560000,0.200000002980232,'hardware');
912 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9324320',1001,127,'shipped','1993.08.16 00:00:00.000','1993.08.16 00:00:00.000','1993.09.01 00:00:00.000','y',1,0,1,'software');
913 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9320630',1001,127,'open','1993.12.12 00:00:00.000',NULL,'1993.12.15 00:00:00.000','n',3,60000,0.200000002980232,'hardware');
914 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9420099',1001,127,'open','1994.01.17 00:00:00.000',NULL,'1994.06.01 00:00:00.000','n',100,3399.15,0.150000005960464,'software');
915 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9427029',1001,127,'shipped','1994.02.07 00:00:00.000','1994.02.10 00:00:00.000','1994.02.10 00:00:00.000','n',17,422210.97,0,'hardware');
916 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9333005',1002,11,'shipped','1993.02.03 00:00:00.000','1993.03.03 00:00:00.000',NULL,'y',2,600.5,0,'software');
917 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9333006',1002,11,'shipped','1993.04.27 00:00:00.000','1993.05.02 00:00:00.000','1993.05.02 00:00:00.000','n',5,20000,0,'other');
918 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9336100',1002,11,'waiting','1993.12.27 00:00:00.000','1994.01.01 00:00:00.000','1994.01.01 00:00:00.000','n',150,14850,0.0500000007450581,'software');
919 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9346200',1003,11,'waiting','1993.12.31 00:00:00.000',NULL,'1994.01.24 00:00:00.000','n',3,0,1,'software');
920 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9345200',1003,11,'shipped','1993.11.11 00:00:00.000','1993.12.02 00:00:00.000','1993.12.01 00:00:00.000','y',900,27000,0.300000011920929,'software');
921 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9345139',1003,127,'shipped','1993.09.09 00:00:00.000','1993.09.20 00:00:00.000','1993.10.01 00:00:00.000','y',20,12582.12,0.100000001490116,'software');
922 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93C0120',1006,72,'shipped','1993.03.22 00:00:00.000','1993.05.31 00:00:00.000','1993.04.17 00:00:00.000','y',1,47.5,0,'other');
923 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93C0990',1006,72,'shipped','1993.08.09 00:00:00.000','1993.09.02 00:00:00.000',NULL,'y',40,399960.5,0.100000001490116,'hardware');
924 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V9456220',1007,127,'open','1994.01.04 00:00:00.000',NULL,'1994.01.30 00:00:00.000','y',1,3999.99,0,'hardware');
925 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93S4702',1011,121,'shipped','1993.10.27 00:00:00.000','1993.10.28 00:00:00.000','1993.12.15 00:00:00.000','y',4,120000,0,'hardware');
926 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V94S6400',1011,141,'waiting','1994.01.06 00:00:00.000',NULL,'1994.02.15 00:00:00.000','y',20,1980.72,0.400000005960464,'software');
927 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93H3009',1008,61,'shipped','1993.08.01 00:00:00.000','1993.12.02 00:00:00.000','1993.12.01 00:00:00.000','n',3,9000,0.0500000007450581,'software');
928 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93H0500',1008,61,'open','1993.12.12 00:00:00.000',NULL,'1993.12.15 00:00:00.000','n',3,16000,0.200000002980232,'hardware');
929 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93F0020',1009,61,'shipped','1993.10.10 00:00:00.000','1993.11.11 00:00:00.000','1993.11.11 00:00:00.000','n',1,490.69,0,'software');
930 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93I4700',1013,121,'open','1993.10.27 00:00:00.000',NULL,'1993.12.15 00:00:00.000','n',5,2693,0,'hardware');
931 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93B1002',1014,134,'shipped','1993.09.20 00:00:00.000','1993.09.21 00:00:00.000','1993.09.25 00:00:00.000','y',1,100.02,0,'software');
932 INSERT INTO SALES (PO_NUMBER,CUST_NO,SALES_REP,ORDER_STATUS,ORDER_DATE,SHIP_DATE,DATE_NEEDED,PAID,QTY_ORDERED,TOTAL_VALUE,DISCOUNT,ITEM_TYPE) VALUES('V93N5822',1015,134,'shipped','1993.12.18 00:00:00.000','1994.01.14 00:00:00.000',NULL,'n',2,1500,0,'software');
933 COMMIT;
934 /* Data Ends */
935
936 /* Index definitions for all user tables */
937
938 CREATE INDEX CUSTNAMEX ON CUSTOMER(CUSTOMER);
939 CREATE INDEX CUSTREGION ON CUSTOMER(COUNTRY, CITY);
940 CREATE DESCENDING INDEX BUDGETX ON DEPARTMENT(BUDGET);
941 CREATE INDEX NAMEX ON EMPLOYEE(LAST_NAME, FIRST_NAME);
942 CREATE DESCENDING INDEX MAXSALX ON JOB(JOB_COUNTRY, MAX_SALARY);
943 CREATE INDEX MINSALX ON JOB(JOB_COUNTRY, MIN_SALARY);
944 CREATE UNIQUE INDEX PRODTYPEX ON PROJECT(PRODUCT, PROJ_NAME);
945 CREATE DESCENDING INDEX CHANGEX ON SALARY_HISTORY(CHANGE_DATE);
946 CREATE INDEX UPDATERX ON SALARY_HISTORY(UPDATER_ID);
947 CREATE INDEX NEEDX ON SALES(DATE_NEEDED);
948 CREATE DESCENDING INDEX QTYX ON SALES(ITEM_TYPE, QTY_ORDERED);
949 CREATE INDEX SALESTATX ON SALES(ORDER_STATUS, PAID);
950 ALTER TABLE CUSTOMER ADD FOREIGN KEY (COUNTRY) REFERENCES COUNTRY (COUNTRY);
951 ALTER TABLE DEPARTMENT ADD FOREIGN KEY (HEAD_DEPT) REFERENCES DEPARTMENT (DEPT_NO);
952 ALTER TABLE DEPARTMENT ADD FOREIGN KEY (MNGR_NO) REFERENCES EMPLOYEE (EMP_NO);
953 ALTER TABLE EMPLOYEE ADD FOREIGN KEY (DEPT_NO) REFERENCES DEPARTMENT (DEPT_NO);
954 ALTER TABLE EMPLOYEE ADD FOREIGN KEY (JOB_CODE, JOB_GRADE, JOB_COUNTRY) REFERENCES JOB (JOB_CODE, JOB_GRADE, JOB_COUNTRY);
955 ALTER TABLE EMPLOYEE_PROJECT ADD FOREIGN KEY (EMP_NO) REFERENCES EMPLOYEE (EMP_NO);
956 ALTER TABLE EMPLOYEE_PROJECT ADD FOREIGN KEY (PROJ_ID) REFERENCES PROJECT (PROJ_ID);
957 ALTER TABLE JOB ADD FOREIGN KEY (JOB_COUNTRY) REFERENCES COUNTRY (COUNTRY);
958 ALTER TABLE PROJECT ADD FOREIGN KEY (TEAM_LEADER) REFERENCES EMPLOYEE (EMP_NO);
959 ALTER TABLE PROJ_DEPT_BUDGET ADD FOREIGN KEY (DEPT_NO) REFERENCES DEPARTMENT (DEPT_NO);
960 ALTER TABLE PROJ_DEPT_BUDGET ADD FOREIGN KEY (PROJ_ID) REFERENCES PROJECT (PROJ_ID);
961 ALTER TABLE SALARY_HISTORY ADD FOREIGN KEY (EMP_NO) REFERENCES EMPLOYEE (EMP_NO);
962 ALTER TABLE SALES ADD FOREIGN KEY (CUST_NO) REFERENCES CUSTOMER (CUST_NO);
963 ALTER TABLE SALES ADD FOREIGN KEY (SALES_REP) REFERENCES EMPLOYEE (EMP_NO);
964
965 CREATE SEQUENCE CUST_NO_GEN;
966 ALTER SEQUENCE CUST_NO_GEN RESTART WITH 1016;
967 CREATE SEQUENCE EMP_NO_GEN;
968 ALTER SEQUENCE EMP_NO_GEN RESTART WITH 158;
969 CREATE SEQUENCE FB$OUT_SEQ;
970 ALTER SEQUENCE FB$OUT_SEQ RESTART WITH 1;
971
972 /* View: DEPTLIST, Owner: SYSDBA */
973
974 CREATE VIEW DEPTLIST (
975 EMP_NO,
976 FIRST_NAME,
977 LAST_NAME,
978 PHONE_EXT,
979 HIRE_DATE,
980 DEPT_NO,
981 JOB_CODE,
982 JOB_GRADE,
983 JOB_COUNTRY,
984 SALARY,
985 FULL_NAME,
986 DEPT_PATH,
987 DEPT_KEY_PATH,
988 "Payment Status"
989 ) AS
990 with recursive Depts As (
991 Select DEPT_NO, DEPARTMENT, HEAD_DEPT, cast(DEPARTMENT as VarChar(256)) as DEPT_PATH,
992 cast(DEPT_NO as VarChar(64)) as DEPT_KEY_PATH
993 From DEPARTMENT Where HEAD_DEPT is NULL
994 UNION ALL
995 Select D.DEPT_NO, D.DEPARTMENT, D.HEAD_DEPT, Depts.DEPT_PATH || ' / ' || D.DEPARTMENT as DEPT_PATH,
996 Depts.DEPT_KEY_PATH || ';' || D.DEPT_NO as DEPT_KEY_PATH
997 From DEPARTMENT D
998 JOIN Depts On D.HEAD_DEPT = Depts.DEPT_NO
999 )
1000
1001 Select distinct A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE,
1002 A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH,
1003 CASE When A.SALARY > 10000 then 'higher paid' else 'lower paid' End
1004 From EMPLOYEE A
1005 JOIN Depts D On D.DEPT_NO = A.DEPT_NO
1006 ;
1007
1008 /* View: PHONE_LIST, Owner: SYSDBA */
1009
1010 CREATE VIEW PHONE_LIST (
1011 EMP_NO,
1012 FIRST_NAME,
1013 LAST_NAME,
1014 PHONE_EXT,
1015 LOCATION,
1016 PHONE_NO
1017 ) AS
1018 SELECT
1019 emp_no, first_name, last_name, phone_ext, location, phone_no
1020 FROM employee, department
1021 WHERE employee.dept_no = department.dept_no
1022 ;
1023
1024 /* Add Domain Check Constraints */
1025
1026
1027 ALTER DOMAIN BUDGET ADD CONSTRAINT
1028 CHECK (VALUE > 10000 AND VALUE <= 2000000);
1029
1030 ALTER DOMAIN CUSTNO ADD CONSTRAINT
1031 CHECK (VALUE > 1000);
1032 ALTER DOMAIN DEPTNO ADD CONSTRAINT
1033 CHECK (VALUE = '000' OR (VALUE > '0' AND VALUE <= '999') OR VALUE IS NULL);
1034
1035
1036
1037 ALTER DOMAIN JOBCODE ADD CONSTRAINT
1038 CHECK (VALUE > '99999');
1039 ALTER DOMAIN JOBGRADE ADD CONSTRAINT
1040 CHECK (VALUE BETWEEN 0 AND 6);
1041
1042
1043 ALTER DOMAIN PONUMBER ADD CONSTRAINT
1044 CHECK (VALUE STARTING WITH 'V');
1045 ALTER DOMAIN PRODTYPE ADD CONSTRAINT
1046 CHECK (VALUE IN ('software', 'hardware', 'other', 'N/A'));
1047 ALTER DOMAIN PROJNO ADD CONSTRAINT
1048 CHECK (VALUE = UPPER (VALUE));
1049 ALTER DOMAIN SALARY ADD CONSTRAINT
1050 CHECK (VALUE > 0);
1051 ALTER TABLE JOB ADD
1052 CHECK (min_salary < max_salary);
1053
1054 ALTER TABLE JOB ADD
1055 CHECK (min_salary < max_salary);
1056
1057 ALTER TABLE EMPLOYEE ADD
1058 CHECK ( salary >= (SELECT min_salary FROM job WHERE
1059 job.job_code = employee.job_code AND
1060 job.job_grade = employee.job_grade AND
1061 job.job_country = employee.job_country) AND
1062 salary <= (SELECT max_salary FROM job WHERE
1063 job.job_code = employee.job_code AND
1064 job.job_grade = employee.job_grade AND
1065 job.job_country = employee.job_country));
1066
1067 ALTER TABLE PROJ_DEPT_BUDGET ADD
1068 CHECK (FISCAL_YEAR >= 1993);
1069
1070 ALTER TABLE SALARY_HISTORY ADD
1071 CHECK (percent_change between -50 and 50);
1072
1073 ALTER TABLE CUSTOMER ADD
1074 CHECK (on_hold IS NULL OR on_hold = '*');
1075
1076 ALTER TABLE SALES ADD
1077 CHECK (order_status in
1078 ('new', 'open', 'shipped', 'waiting'));
1079
1080 ALTER TABLE SALES ADD
1081 CHECK (ship_date >= order_date OR ship_date IS NULL);
1082
1083 ALTER TABLE SALES ADD
1084 CHECK (date_needed > order_date OR date_needed IS NULL);
1085
1086 ALTER TABLE SALES ADD
1087 CHECK (paid in ('y', 'n'));
1088
1089 ALTER TABLE SALES ADD
1090 CHECK (qty_ordered >= 1);
1091
1092 ALTER TABLE SALES ADD
1093 CHECK (total_value >= 0);
1094
1095 ALTER TABLE SALES ADD
1096 CHECK (discount >= 0 AND discount <= 1);
1097
1098 ALTER TABLE SALES ADD
1099 CHECK (NOT (order_status = 'shipped' AND ship_date IS NULL));
1100
1101 ALTER TABLE SALES ADD
1102 CHECK (NOT (order_status = 'shipped' AND
1103 EXISTS (SELECT on_hold FROM customer
1104 WHERE customer.cust_no = sales.cust_no
1105 AND customer.on_hold = '*')));
1106
1107
1108 /* Exceptions */
1109
1110 CREATE EXCEPTION CUSTOMER_CHECK 'Overdue balance -- can not ship.';
1111 CREATE EXCEPTION CUSTOMER_ON_HOLD 'This customer is on hold.';
1112 CREATE EXCEPTION ORDER_ALREADY_SHIPPED 'Order status is "shipped."';
1113 CREATE EXCEPTION REASSIGN_SALES 'Reassign the sales records before deleting this employee.';
1114 CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number or project id.';
1115 COMMIT WORK;
1116 SET AUTODDL OFF;
1117 SET TERM ^;
1118
1119 /* Package Definitions */
1120
1121 CREATE PACKAGE FB$OUT
1122 AS
1123 begin
1124 procedure enable;
1125 procedure disable;
1126
1127 procedure put_line (line fb$out_type);
1128 procedure clear;
1129
1130 procedure get_lines returns (lines fb$out_type);
1131 end
1132 ^
1133
1134 CREATE PACKAGE SELECT$TEST
1135 AS
1136 Begin
1137 Procedure ShowItems(IPARAM Integer) RETURNS (OutParam integer);
1138 End
1139 ^
1140
1141 SET TERM ;^
1142 COMMIT WORK;
1143 SET AUTODDL ON;
1144 COMMIT WORK;
1145 SET AUTODDL OFF;
1146 SET TERM ^;
1147
1148 /* Stored procedures Definitions*/
1149
1150 CREATE PROCEDURE SHOW_LANGS
1151 (
1152 CODE VARCHAR(5) CHARACTER SET NONE,
1153 GRADE SMALLINT,
1154 CTY VARCHAR(15) CHARACTER SET NONE
1155 )
1156 RETURNS
1157 (
1158 LANGUAGES VARCHAR(15) CHARACTER SET NONE
1159 )
1160 AS
1161 BEGIN SUSPEND; EXIT; END
1162 ^
1163
1164 CREATE PROCEDURE ADD_EMP_PROJ
1165 (
1166 EMP_NO SMALLINT,
1167 PROJ_ID CHAR(5) CHARACTER SET NONE
1168 )
1169 AS
1170 BEGIN EXIT; END
1171 ^
1172
1173 CREATE PROCEDURE ALL_LANGS
1174 RETURNS
1175 (
1176 CODE VARCHAR(5) CHARACTER SET NONE,
1177 GRADE VARCHAR(5) CHARACTER SET NONE,
1178 COUNTRY VARCHAR(15) CHARACTER SET NONE,
1179 LANG VARCHAR(15) CHARACTER SET NONE
1180 )
1181 AS
1182 BEGIN SUSPEND; EXIT; END
1183 ^
1184
1185 CREATE PROCEDURE DELETE_EMPLOYEE
1186 (
1187 EMP_NUM INTEGER
1188 )
1189 AS
1190 BEGIN EXIT; END
1191 ^
1192
1193 CREATE PROCEDURE DEPT_BUDGET
1194 (
1195 DNO CHAR(3) CHARACTER SET NONE
1196 )
1197 RETURNS
1198 (
1199 TOT DECIMAL(12,2)
1200 )
1201 AS
1202 BEGIN SUSPEND; EXIT; END
1203 ^
1204
1205 CREATE PROCEDURE EMPLOYEE_PAY_STATUS
1206 (
1207 EMP_NUM SMALLINT
1208 )
1209 RETURNS
1210 (
1211 PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
1212 SALARY NUMERIC(10,2)
1213 )
1214 AS
1215 BEGIN EXIT; END
1216 ^
1217
1218 CREATE PROCEDURE GET_EMP_PROJ
1219 (
1220 EMP_NO SMALLINT
1221 )
1222 RETURNS
1223 (
1224 PROJ_ID CHAR(5) CHARACTER SET NONE
1225 )
1226 AS
1227 BEGIN SUSPEND; EXIT; END
1228 ^
1229
1230 CREATE PROCEDURE "Has Space"
1231 (
1232 ARG1 INTEGER
1233 )
1234 AS
1235 BEGIN EXIT; END
1236 ^
1237
1238 CREATE PROCEDURE MAIL_LABEL
1239 (
1240 CUST_NO INTEGER
1241 )
1242 RETURNS
1243 (
1244 LINE1 CHAR(40) CHARACTER SET NONE,
1245 LINE2 CHAR(40) CHARACTER SET NONE,
1246 LINE3 CHAR(40) CHARACTER SET NONE,
1247 LINE4 CHAR(40) CHARACTER SET NONE,
1248 LINE5 CHAR(40) CHARACTER SET NONE,
1249 LINE6 CHAR(40) CHARACTER SET NONE
1250 )
1251 AS
1252 BEGIN SUSPEND; EXIT; END
1253 ^
1254
1255 CREATE PROCEDURE ORG_CHART
1256 RETURNS
1257 (
1258 HEAD_DEPT CHAR(25) CHARACTER SET NONE,
1259 DEPARTMENT CHAR(25) CHARACTER SET NONE,
1260 MNGR_NAME CHAR(20) CHARACTER SET NONE,
1261 TITLE CHAR(5) CHARACTER SET NONE,
1262 EMP_CNT INTEGER
1263 )
1264 AS
1265 BEGIN SUSPEND; EXIT; END
1266 ^
1267
1268 CREATE PROCEDURE SHIP_ORDER
1269 (
1270 PO_NUM CHAR(8) CHARACTER SET NONE
1271 )
1272 AS
1273 BEGIN EXIT; END
1274 ^
1275
1276 CREATE PROCEDURE SUB_TOT_BUDGET
1277 (
1278 HEAD_DEPT CHAR(3) CHARACTER SET NONE
1279 )
1280 RETURNS
1281 (
1282 TOT_BUDGET DECIMAL(12,2),
1283 AVG_BUDGET DECIMAL(12,2),
1284 MIN_BUDGET DECIMAL(12,2),
1285 MAX_BUDGET DECIMAL(12,2)
1286 )
1287 AS
1288 BEGIN SUSPEND; EXIT; END
1289 ^
1290
1291 CREATE PROCEDURE "UC SPACE"
1292 (
1293 ARG1 INTEGER
1294 )
1295 AS
1296 BEGIN EXIT; END
1297 ^
1298
1299 CREATE PROCEDURE "iCASE"
1300 AS
1301 BEGIN EXIT; END
1302 ^
1303
1304 SET TERM ;^
1305 COMMIT WORK;
1306 SET AUTODDL ON;
1307 COMMIT WORK;
1308 SET AUTODDL OFF;
1309 SET TERM ^;
1310
1311 /* Stored Function declarations */
1312
1313 CREATE FUNCTION F (X INTEGER)
1314 RETURNS INTEGER
1315 AS BEGIN END
1316 ^
1317
1318 SET TERM ;^
1319 COMMIT WORK;
1320 SET AUTODDL ON;
1321 SET TERM ^;
1322
1323
1324 /* Triggers only will work for SQL triggers */
1325
1326 CREATE TRIGGER "After Create Database"
1327 ACTIVE ON CONNECT POSITION 0
1328 as
1329 begin
1330 End
1331 ^
1332
1333 CREATE TRIGGER "BEFORE CREATE TABLE"
1334 ACTIVE BEFORE CREATE TABLE POSITION 0
1335 AS BEGIN END
1336 ^
1337
1338 CREATE TRIGGER "AFTER CREATE TABLE"
1339 ACTIVE AFTER CREATE TABLE POSITION 0
1340 AS BEGIN END
1341 ^
1342
1343 CREATE TRIGGER "BEFORE ALTER TABLE"
1344 ACTIVE BEFORE ALTER TABLE POSITION 0
1345 AS BEGIN END
1346 ^
1347
1348 CREATE TRIGGER "AFTER ALTER TABLE"
1349 ACTIVE AFTER ALTER TABLE POSITION 0
1350 AS BEGIN END
1351 ^
1352
1353 CREATE TRIGGER "AFTER CREATE/Alter TABLE"
1354 ACTIVE AFTER CREATE TABLE OR ALTER TABLE POSITION 0
1355 AS BEGIN END
1356 ^
1357
1358 CREATE TRIGGER "BEFORE DROP TABLE"
1359 ACTIVE BEFORE Drop TABLE POSITION 0
1360 AS BEGIN END
1361 ^
1362
1363 CREATE TRIGGER "AFTER DROP TABLE"
1364 ACTIVE AFTER Drop TABLE POSITION 0
1365 AS BEGIN END
1366 ^
1367
1368 CREATE TRIGGER "BEFORE CREATE PROCEDURE"
1369 ACTIVE BEFORE CREATE PROCEDURE POSITION 0
1370 AS BEGIN END
1371 ^
1372
1373 CREATE TRIGGER "AFTER CREATE PROCEDURE"
1374 ACTIVE AFTER CREATE PROCEDURE POSITION 0
1375 AS BEGIN END
1376 ^
1377
1378 CREATE TRIGGER "BEFORE ALTER PROCEDURE"
1379 ACTIVE BEFORE ALTER PROCEDURE POSITION 0
1380 AS BEGIN END
1381 ^
1382
1383 CREATE TRIGGER "AFTER ALTER PROCEDURE"
1384 ACTIVE AFTER ALTER PROCEDURE POSITION 0
1385 AS BEGIN END
1386 ^
1387
1388 CREATE TRIGGER "BEFORE DROP PROCEDURE"
1389 ACTIVE BEFORE Drop PROCEDURE POSITION 0
1390 AS BEGIN END
1391 ^
1392
1393 CREATE TRIGGER "AFTER DROP PROCEDURE"
1394 ACTIVE AFTER Drop PROCEDURE POSITION 0
1395 AS BEGIN END
1396 ^
1397
1398 CREATE TRIGGER "BEFORE CREATE FUNCTION"
1399 ACTIVE BEFORE CREATE FUNCTION POSITION 0
1400 AS BEGIN END
1401 ^
1402
1403 CREATE TRIGGER "AFTER CREATE FUNCTION"
1404 ACTIVE AFTER CREATE FUNCTION POSITION 0
1405 AS BEGIN END
1406 ^
1407
1408 CREATE TRIGGER "BEFORE ALTER FUNCTION"
1409 ACTIVE BEFORE ALTER FUNCTION POSITION 0
1410 AS BEGIN END
1411 ^
1412
1413 CREATE TRIGGER "AFTER ALTER FUNCTION"
1414 ACTIVE AFTER ALTER FUNCTION POSITION 0
1415 AS BEGIN END
1416 ^
1417
1418 CREATE TRIGGER "BEFORE DROP FUNCTION"
1419 ACTIVE BEFORE Drop FUNCTION POSITION 0
1420 AS BEGIN END
1421 ^
1422
1423 CREATE TRIGGER "AFTER DROP FUNCTION"
1424 ACTIVE AFTER Drop FUNCTION POSITION 0
1425 AS BEGIN END
1426 ^
1427
1428 CREATE TRIGGER "BEFORE CREATE TRIGGER"
1429 ACTIVE BEFORE CREATE TRIGGER POSITION 0
1430 AS BEGIN END
1431 ^
1432
1433 CREATE TRIGGER "AFTER CREATE TRIGGER"
1434 ACTIVE AFTER CREATE TRIGGER POSITION 0
1435 AS BEGIN END
1436 ^
1437
1438 CREATE TRIGGER "BEFORE ALTER TRIGGER"
1439 ACTIVE BEFORE ALTER TRIGGER POSITION 0
1440 AS BEGIN END
1441 ^
1442
1443 CREATE TRIGGER "AFTER ALTER TRIGGER"
1444 ACTIVE AFTER ALTER TRIGGER POSITION 0
1445 AS BEGIN END
1446 ^
1447
1448 CREATE TRIGGER "BEFORE DROP TRIGGER"
1449 ACTIVE BEFORE Drop TRIGGER POSITION 0
1450 AS BEGIN END
1451 ^
1452
1453 CREATE TRIGGER "AFTER DROP TRIGGER"
1454 ACTIVE AFTER Drop TRIGGER POSITION 0
1455 AS BEGIN END
1456 ^
1457
1458 CREATE TRIGGER "BEFORE CREATE EXCEPTION"
1459 ACTIVE BEFORE CREATE EXCEPTION POSITION 0
1460 AS BEGIN END
1461 ^
1462
1463 CREATE TRIGGER "AFTER CREATE EXCEPTION"
1464 ACTIVE AFTER CREATE EXCEPTION POSITION 0
1465 AS BEGIN END
1466 ^
1467
1468 CREATE TRIGGER "BEFORE ALTER EXCEPTION"
1469 ACTIVE BEFORE ALTER EXCEPTION POSITION 0
1470 AS BEGIN END
1471 ^
1472
1473 CREATE TRIGGER "AFTER ALTER EXCEPTION"
1474 ACTIVE AFTER ALTER EXCEPTION POSITION 0
1475 AS BEGIN END
1476 ^
1477
1478 CREATE TRIGGER "BEFORE DROP EXCEPTION"
1479 ACTIVE BEFORE Drop EXCEPTION POSITION 0
1480 AS BEGIN END
1481 ^
1482
1483 CREATE TRIGGER "AFTER DROP EXCEPTION"
1484 ACTIVE AFTER Drop EXCEPTION POSITION 0
1485 AS BEGIN END
1486 ^
1487
1488 CREATE TRIGGER "BEFORE CREATE VIEW"
1489 ACTIVE BEFORE CREATE VIEW POSITION 0
1490 AS BEGIN END
1491 ^
1492
1493 CREATE TRIGGER "AFTER CREATE VIEW"
1494 ACTIVE AFTER CREATE VIEW POSITION 0
1495 AS BEGIN END
1496 ^
1497
1498 CREATE TRIGGER "BEFORE ALTER VIEW"
1499 ACTIVE BEFORE ALTER VIEW POSITION 0
1500 AS BEGIN END
1501 ^
1502
1503 CREATE TRIGGER "AFTER ALTER VIEW"
1504 ACTIVE AFTER ALTER VIEW POSITION 0
1505 AS BEGIN END
1506 ^
1507
1508 CREATE TRIGGER "BEFORE DROP VIEW"
1509 ACTIVE BEFORE Drop VIEW POSITION 0
1510 AS BEGIN END
1511 ^
1512
1513 CREATE TRIGGER "AFTER DROP VIEW"
1514 ACTIVE AFTER Drop VIEW POSITION 0
1515 AS BEGIN END
1516 ^
1517
1518 CREATE TRIGGER "BEFORE CREATE DOMAIN"
1519 ACTIVE BEFORE CREATE DOMAIN POSITION 0
1520 AS BEGIN END
1521 ^
1522
1523 CREATE TRIGGER "AFTER CREATE DOMAIN"
1524 ACTIVE AFTER CREATE DOMAIN POSITION 0
1525 AS BEGIN END
1526 ^
1527
1528 CREATE TRIGGER "BEFORE ALTER DOMAIN"
1529 ACTIVE BEFORE ALTER DOMAIN POSITION 0
1530 AS BEGIN END
1531 ^
1532
1533 CREATE TRIGGER "AFTER ALTER DOMAIN"
1534 ACTIVE AFTER ALTER DOMAIN POSITION 0
1535 AS BEGIN END
1536 ^
1537
1538 CREATE TRIGGER "BEFORE DROP DOMAIN"
1539 ACTIVE BEFORE Drop DOMAIN POSITION 0
1540 AS BEGIN END
1541 ^
1542
1543 CREATE TRIGGER "AFTER DROP DOMAIN"
1544 ACTIVE AFTER Drop DOMAIN POSITION 0
1545 AS BEGIN END
1546 ^
1547
1548 CREATE TRIGGER "BEFORE CREATE ROLE"
1549 ACTIVE BEFORE CREATE ROLE POSITION 0
1550 AS BEGIN END
1551 ^
1552
1553 CREATE TRIGGER "AFTER CREATE ROLE"
1554 ACTIVE AFTER CREATE ROLE POSITION 0
1555 AS BEGIN END
1556 ^
1557
1558 CREATE TRIGGER "BEFORE ALTER ROLE"
1559 ACTIVE BEFORE ALTER ROLE POSITION 0
1560 AS BEGIN END
1561 ^
1562
1563 CREATE TRIGGER "AFTER ALTER ROLE"
1564 ACTIVE AFTER ALTER ROLE POSITION 0
1565 AS BEGIN END
1566 ^
1567
1568 CREATE TRIGGER "BEFORE DROP ROLE"
1569 ACTIVE BEFORE Drop ROLE POSITION 0
1570 AS BEGIN END
1571 ^
1572
1573 CREATE TRIGGER "AFTER DROP ROLE"
1574 ACTIVE AFTER Drop ROLE POSITION 0
1575 AS BEGIN END
1576 ^
1577
1578 CREATE TRIGGER "BEFORE CREATE INDEX"
1579 ACTIVE BEFORE CREATE INDEX POSITION 0
1580 AS BEGIN END
1581 ^
1582
1583 CREATE TRIGGER "AFTER CREATE INDEX"
1584 ACTIVE AFTER CREATE INDEX POSITION 0
1585 AS BEGIN END
1586 ^
1587
1588 CREATE TRIGGER "BEFORE ALTER INDEX"
1589 ACTIVE BEFORE ALTER INDEX POSITION 0
1590 AS BEGIN END
1591 ^
1592
1593 CREATE TRIGGER "AFTER ALTER INDEX"
1594 ACTIVE AFTER ALTER INDEX POSITION 0
1595 AS BEGIN END
1596 ^
1597
1598 CREATE TRIGGER "BEFORE DROP INDEX"
1599 ACTIVE BEFORE Drop INDEX POSITION 0
1600 AS BEGIN END
1601 ^
1602
1603 CREATE TRIGGER "AFTER DROP INDEX"
1604 ACTIVE AFTER Drop INDEX POSITION 0
1605 AS BEGIN END
1606 ^
1607
1608 CREATE TRIGGER "BEFORE CREATE SEQUENCE"
1609 ACTIVE BEFORE CREATE SEQUENCE POSITION 0
1610 AS BEGIN END
1611 ^
1612
1613 CREATE TRIGGER "AFTER CREATE SEQUENCE"
1614 ACTIVE AFTER CREATE SEQUENCE POSITION 0
1615 AS BEGIN END
1616 ^
1617
1618 CREATE TRIGGER "BEFORE ALTER SEQUENCE"
1619 ACTIVE BEFORE ALTER SEQUENCE POSITION 0
1620 AS BEGIN END
1621 ^
1622
1623 CREATE TRIGGER "AFTER ALTER SEQUENCE"
1624 ACTIVE AFTER ALTER SEQUENCE POSITION 0
1625 AS BEGIN END
1626 ^
1627
1628 CREATE TRIGGER "BEFORE DROP SEQUENCE"
1629 ACTIVE BEFORE Drop SEQUENCE POSITION 0
1630 AS BEGIN END
1631 ^
1632
1633 CREATE TRIGGER "AFTER DROP SEQUENCE"
1634 ACTIVE AFTER Drop SEQUENCE POSITION 0
1635 AS BEGIN END
1636 ^
1637
1638 CREATE TRIGGER "BEFORE CREATE USER"
1639 ACTIVE BEFORE CREATE USER POSITION 0
1640 AS BEGIN END
1641 ^
1642
1643 CREATE TRIGGER "AFTER CREATE USER"
1644 ACTIVE AFTER CREATE USER POSITION 0
1645 AS BEGIN END
1646 ^
1647
1648 CREATE TRIGGER "BEFORE ALTER USER"
1649 ACTIVE BEFORE ALTER USER POSITION 0
1650 AS BEGIN END
1651 ^
1652
1653 CREATE TRIGGER "AFTER ALTER USER"
1654 ACTIVE AFTER ALTER USER POSITION 0
1655 AS BEGIN END
1656 ^
1657
1658 CREATE TRIGGER "BEFORE DROP USER"
1659 ACTIVE BEFORE Drop USER POSITION 0
1660 AS BEGIN END
1661 ^
1662
1663 CREATE TRIGGER "AFTER DROP USER"
1664 ACTIVE AFTER Drop USER POSITION 0
1665 AS BEGIN END
1666 ^
1667
1668 CREATE TRIGGER "BEFORE CREATE COLLATION"
1669 ACTIVE BEFORE CREATE COLLATION POSITION 0
1670 AS BEGIN END
1671 ^
1672
1673 CREATE TRIGGER "AFTER CREATE COLLATION"
1674 ACTIVE AFTER CREATE COLLATION POSITION 0
1675 AS BEGIN END
1676 ^
1677
1678 CREATE TRIGGER "BEFORE DROP COLLATION"
1679 ACTIVE BEFORE Drop COLLATION POSITION 0
1680 AS BEGIN END
1681 ^
1682
1683 CREATE TRIGGER "AFTER DROP COLLATION"
1684 ACTIVE AFTER Drop COLLATION POSITION 0
1685 AS BEGIN END
1686 ^
1687
1688 CREATE TRIGGER "BEFORE ALTER CHARACTER SET"
1689 ACTIVE BEFORE ALTER CHARACTER SET POSITION 0
1690 AS BEGIN END
1691 ^
1692
1693 CREATE TRIGGER "AFTER ALTER CHARACTER SET"
1694 ACTIVE AFTER ALTER CHARACTER SET POSITION 0
1695 AS BEGIN END
1696 ^
1697
1698 CREATE TRIGGER "BEFORE CREATE PACKAGE"
1699 ACTIVE BEFORE CREATE PACKAGE POSITION 0
1700 AS BEGIN END
1701 ^
1702
1703 CREATE TRIGGER "AFTER CREATE PACKAGE"
1704 ACTIVE AFTER CREATE PACKAGE POSITION 0
1705 AS BEGIN END
1706 ^
1707
1708 CREATE TRIGGER "BEFORE ALTER PACKAGE"
1709 ACTIVE BEFORE ALTER PACKAGE POSITION 0
1710 AS BEGIN END
1711 ^
1712
1713 CREATE TRIGGER "AFTER ALTER PACKAGE"
1714 ACTIVE AFTER ALTER PACKAGE POSITION 0
1715 AS BEGIN END
1716 ^
1717
1718 CREATE TRIGGER "BEFORE DROP PACKAGE"
1719 ACTIVE BEFORE Drop PACKAGE POSITION 0
1720 AS BEGIN END
1721 ^
1722
1723 CREATE TRIGGER "AFTER DROP PACKAGE"
1724 ACTIVE AFTER Drop PACKAGE POSITION 0
1725 AS BEGIN END
1726 ^
1727
1728 CREATE TRIGGER "BEFORE CREATE PACKAGE BODY"
1729 ACTIVE BEFORE CREATE PACKAGE BODY POSITION 0
1730 AS BEGIN END
1731 ^
1732
1733 CREATE TRIGGER "AFTER CREATE PACKAGE BODY"
1734 ACTIVE AFTER CREATE PACKAGE BODY POSITION 0
1735 AS BEGIN END
1736 ^
1737
1738 CREATE TRIGGER "BEFORE DROP PACKAGE BODY"
1739 ACTIVE BEFORE Drop PACKAGE BODY POSITION 0
1740 AS BEGIN END
1741 ^
1742
1743 CREATE TRIGGER "AFTER DROP PACKAGE BODY"
1744 ACTIVE AFTER Drop PACKAGE BODY POSITION 0
1745 AS BEGIN END
1746 ^
1747
1748 CREATE TRIGGER "BEFORE ANY DDL STATEMENT"
1749 ACTIVE BEFORE ANY DDL STATEMENT POSITION 0
1750 AS BEGIN END
1751 ^
1752
1753 CREATE TRIGGER "AFTER ANY DDL STATEMENT"
1754 ACTIVE AFTER ANY DDL STATEMENT POSITION 0
1755 AS BEGIN END
1756 ^
1757
1758 CREATE TRIGGER SET_CUST_NO FOR CUSTOMER
1759 ACTIVE BEFORE INSERT POSITION 0
1760 AS
1761 BEGIN
1762 if (new.cust_no is null) then
1763 new.cust_no = gen_id(cust_no_gen, 1);
1764 END
1765 ^
1766
1767 CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
1768 ACTIVE BEFORE INSERT POSITION 0
1769 AS
1770 BEGIN
1771 if (new.emp_no is null) then
1772 new.emp_no = gen_id(emp_no_gen, 1);
1773 END
1774 ^
1775
1776 CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE
1777 ACTIVE AFTER UPDATE POSITION 0
1778 AS
1779 BEGIN
1780 IF (old.salary <> new.salary) THEN
1781 INSERT INTO salary_history
1782 (emp_no, change_date, updater_id, old_salary, percent_change)
1783 VALUES (
1784 old.emp_no,
1785 'NOW',
1786 user,
1787 old.salary,
1788 (new.salary - old.salary) * 100 / old.salary);
1789 END
1790 ^
1791
1792 CREATE TRIGGER POST_NEW_ORDER FOR SALES
1793 ACTIVE AFTER INSERT POSITION 0
1794 AS
1795 BEGIN
1796 POST_EVENT 'new_order';
1797 END
1798 ^
1799
1800 COMMIT WORK^
1801 SET TERM ;^
1802 COMMIT WORK;
1803 SET AUTODDL OFF;
1804 SET TERM ^;
1805
1806 /* Package Definitions */
1807
1808 CREATE PACKAGE BODY FB$OUT
1809 AS
1810 begin
1811 procedure enable
1812 as
1813 begin
1814 rdb$set_context('USER_SESSION', 'fb$out.enabled', '1');
1815 end
1816
1817 procedure disable
1818 as
1819 begin
1820 rdb$set_context('USER_SESSION', 'fb$out.enabled', null);
1821 end
1822
1823 procedure put_line (line fb$out_type)
1824 as
1825 begin
1826 if (rdb$get_context('USER_SESSION', 'fb$out.enabled') = '1') then
1827 begin
1828 in autonomous transaction do
1829 begin
1830 insert into fb$out_table (line_num, content)
1831 values (next value for fb$out_seq, :line);
1832 end
1833 end
1834 end
1835
1836 procedure clear
1837 as
1838 begin
1839 in autonomous transaction do
1840 delete from fb$out_table;
1841 end
1842
1843 procedure get_lines returns (lines fb$out_type)
1844 as
1845 declare line fb$out_type;
1846 begin
1847 lines = '';
1848
1849 in autonomous transaction do
1850 begin
1851 for select content from fb$out_table order by line_num into line
1852 do
1853 begin
1854 if (octet_length(lines) > 0) then
1855 lines = lines || ascii_char(13) || ascii_char(10);
1856
1857 lines = lines || :line;
1858 end
1859 end
1860
1861 execute procedure clear;
1862 end
1863 end
1864 ^
1865
1866 CREATE PACKAGE BODY SELECT$TEST
1867 AS
1868 Begin
1869 Procedure ShowItems(IPARAM Integer) RETURNS (OutParam integer)
1870 As
1871 Begin
1872 SUSPEND;
1873 End
1874 End
1875 ^
1876
1877 SET TERM ;^
1878 COMMIT WORK;
1879 SET AUTODDL ON;
1880 COMMIT WORK;
1881 SET AUTODDL OFF;
1882 SET TERM ^;
1883
1884 /* Stored procedure Bodies */
1885
1886 ALTER PROCEDURE SHOW_LANGS
1887 (
1888 CODE VARCHAR(5) CHARACTER SET NONE,
1889 GRADE SMALLINT,
1890 CTY VARCHAR(15) CHARACTER SET NONE
1891 )
1892 RETURNS
1893 (
1894 LANGUAGES VARCHAR(15) CHARACTER SET NONE
1895 )
1896 AS
1897 DECLARE VARIABLE i INTEGER;
1898 BEGIN
1899 i = 1;
1900 WHILE (i <= 5) DO
1901 BEGIN
1902 SELECT language_req[:i] FROM joB
1903 WHERE ((job_code = :code) AND (job_grade = :grade) AND (job_country = :cty)
1904 AND (language_req IS NOT NULL))
1905 INTO :languages;
1906 IF (languages = ' ') THEN /* Prints 'NULL' instead of blanks */
1907 languages = 'NULL';
1908 i = i +1;
1909 SUSPEND;
1910 END
1911 END
1912 ^
1913
1914 ALTER PROCEDURE ADD_EMP_PROJ
1915 (
1916 EMP_NO SMALLINT,
1917 PROJ_ID CHAR(5) CHARACTER SET NONE
1918 )
1919 AS
1920 BEGIN
1921 BEGIN
1922 INSERT INTO employee_project (emp_no, proj_id) VALUES (:emp_no, :proj_id);
1923 WHEN SQLCODE -530 DO
1924 EXCEPTION unknown_emp_id;
1925 END
1926 END
1927 ^
1928
1929 ALTER PROCEDURE ALL_LANGS
1930 RETURNS
1931 (
1932 CODE VARCHAR(5) CHARACTER SET NONE,
1933 GRADE VARCHAR(5) CHARACTER SET NONE,
1934 COUNTRY VARCHAR(15) CHARACTER SET NONE,
1935 LANG VARCHAR(15) CHARACTER SET NONE
1936 )
1937 AS
1938 BEGIN
1939 FOR SELECT job_code, job_grade, job_country FROM job
1940 INTO :code, :grade, :country
1941
1942 DO
1943 BEGIN
1944 FOR SELECT languages FROM show_langs
1945 (:code, :grade, :country) INTO :lang DO
1946 SUSPEND;
1947 /* Put nice separators between rows */
1948 code = '=====';
1949 grade = '=====';
1950 country = '===============';
1951 lang = '==============';
1952 SUSPEND;
1953 END
1954 END
1955 ^
1956
1957 ALTER PROCEDURE DELETE_EMPLOYEE
1958 (
1959 EMP_NUM INTEGER
1960 )
1961 AS
1962 DECLARE VARIABLE any_sales INTEGER;
1963 BEGIN
1964 any_sales = 0;
1965
1966 /*
1967 * If there are any sales records referencing this employee,
1968 * cannot delete the employee until the sales are re-assigned
1969 * to another employee or changed to NULL.
1970 */
1971 SELECT count(po_number)
1972 FROM sales
1973 WHERE sales_rep = :emp_num
1974 INTO :any_sales;
1975
1976 IF (any_sales > 0) THEN
1977 BEGIN
1978 EXCEPTION reassign_sales;
1979 END
1980
1981 /*
1982 * If the employee is a manager, update the department.
1983 */
1984 UPDATE department
1985 SET mngr_no = NULL
1986 WHERE mngr_no = :emp_num;
1987
1988 /*
1989 * If the employee is a project leader, update project.
1990 */
1991 UPDATE project
1992 SET team_leader = NULL
1993 WHERE team_leader = :emp_num;
1994
1995 /*
1996 * Delete the employee from any projects.
1997 */
1998 DELETE FROM employee_project
1999 WHERE emp_no = :emp_num;
2000
2001 /*
2002 * Delete old salary records.
2003 */
2004 DELETE FROM salary_history
2005 WHERE emp_no = :emp_num;
2006
2007 /*
2008 * Delete the employee.
2009 */
2010 DELETE FROM employee
2011 WHERE emp_no = :emp_num;
2012
2013 END
2014 ^
2015
2016 ALTER PROCEDURE DEPT_BUDGET
2017 (
2018 DNO CHAR(3) CHARACTER SET NONE
2019 )
2020 RETURNS
2021 (
2022 TOT DECIMAL(12,2)
2023 )
2024 AS
2025 DECLARE VARIABLE sumb DECIMAL(12,2);
2026 DECLARE VARIABLE rdno CHAR(3);
2027 DECLARE VARIABLE cnt INTEGER;
2028 BEGIN
2029 tot = 0;
2030
2031 SELECT budget FROM department WHERE dept_no = :dno INTO :tot;
2032
2033 SELECT count(budget) FROM department WHERE head_dept = :dno INTO :cnt;
2034
2035 IF (cnt = 0) THEN
2036 SUSPEND;
2037
2038 FOR SELECT dept_no
2039 FROM department
2040 WHERE head_dept = :dno
2041 INTO :rdno
2042 DO
2043 BEGIN
2044 EXECUTE PROCEDURE dept_budget :rdno RETURNING_VALUES :sumb;
2045 tot = tot + sumb;
2046 END
2047
2048 SUSPEND;
2049 END
2050 ^
2051
2052 ALTER PROCEDURE EMPLOYEE_PAY_STATUS
2053 (
2054 EMP_NUM SMALLINT
2055 )
2056 RETURNS
2057 (
2058 PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
2059 SALARY NUMERIC(10,2)
2060 )
2061 AS
2062 Declare aCursor CURSOR FOR (
2063 Select EMP_NO,SALARY From EMPLOYEE WHERE LAST_NAME = 'unknown');
2064 BEGIN
2065 Select SALARY, Case
2066 When SALARY > 10000 and SALARY <= 100000 then 'higher'
2067 When SALARY > 100000 then 'gross'
2068 else 'lower' End
2069 From employee
2070 WHERE emp_no = :EMP_NUM
2071 into :SALARY, :PAY_STATUS;
2072 END
2073 ^
2074
2075 ALTER PROCEDURE GET_EMP_PROJ
2076 (
2077 EMP_NO SMALLINT
2078 )
2079 RETURNS
2080 (
2081 PROJ_ID CHAR(5) CHARACTER SET NONE
2082 )
2083 AS
2084 BEGIN
2085 FOR SELECT proj_id
2086 FROM employee_project
2087 WHERE emp_no = :emp_no
2088 INTO :proj_id
2089 DO
2090 SUSPEND;
2091 END
2092 ^
2093
2094 ALTER PROCEDURE "Has Space"
2095 (
2096 ARG1 INTEGER
2097 )
2098 AS
2099 Begin End
2100 ^
2101
2102 ALTER PROCEDURE MAIL_LABEL
2103 (
2104 CUST_NO INTEGER
2105 )
2106 RETURNS
2107 (
2108 LINE1 CHAR(40) CHARACTER SET NONE,
2109 LINE2 CHAR(40) CHARACTER SET NONE,
2110 LINE3 CHAR(40) CHARACTER SET NONE,
2111 LINE4 CHAR(40) CHARACTER SET NONE,
2112 LINE5 CHAR(40) CHARACTER SET NONE,
2113 LINE6 CHAR(40) CHARACTER SET NONE
2114 )
2115 AS
2116 DECLARE VARIABLE customer VARCHAR(25);
2117 DECLARE VARIABLE first_name VARCHAR(15);
2118 DECLARE VARIABLE last_name VARCHAR(20);
2119 DECLARE VARIABLE addr1 VARCHAR(30);
2120 DECLARE VARIABLE addr2 VARCHAR(30);
2121 DECLARE VARIABLE city VARCHAR(25);
2122 DECLARE VARIABLE state VARCHAR(15);
2123 DECLARE VARIABLE country VARCHAR(15);
2124 DECLARE VARIABLE postcode VARCHAR(12);
2125 DECLARE VARIABLE cnt INTEGER;
2126 BEGIN
2127 line1 = '';
2128 line2 = '';
2129 line3 = '';
2130 line4 = '';
2131 line5 = '';
2132 line6 = '';
2133
2134 SELECT customer, contact_first, contact_last, address_line1,
2135 address_line2, city, state_province, country, postal_code
2136 FROM CUSTOMER
2137 WHERE cust_no = :cust_no
2138 INTO :customer, :first_name, :last_name, :addr1, :addr2,
2139 :city, :state, :country, :postcode;
2140
2141 IF (customer IS NOT NULL) THEN
2142 line1 = customer;
2143 IF (first_name IS NOT NULL) THEN
2144 line2 = first_name || ' ' || last_name;
2145 ELSE
2146 line2 = last_name;
2147 IF (addr1 IS NOT NULL) THEN
2148 line3 = addr1;
2149 IF (addr2 IS NOT NULL) THEN
2150 line4 = addr2;
2151
2152 IF (country = 'USA') THEN
2153 BEGIN
2154 IF (city IS NOT NULL) THEN
2155 line5 = city || ', ' || state || ' ' || postcode;
2156 ELSE
2157 line5 = state || ' ' || postcode;
2158 END
2159 ELSE
2160 BEGIN
2161 IF (city IS NOT NULL) THEN
2162 line5 = city || ', ' || state;
2163 ELSE
2164 line5 = state;
2165 line6 = country || ' ' || postcode;
2166 END
2167
2168 SUSPEND;
2169 END
2170 ^
2171
2172 ALTER PROCEDURE ORG_CHART
2173 RETURNS
2174 (
2175 HEAD_DEPT CHAR(25) CHARACTER SET NONE,
2176 DEPARTMENT CHAR(25) CHARACTER SET NONE,
2177 MNGR_NAME CHAR(20) CHARACTER SET NONE,
2178 TITLE CHAR(5) CHARACTER SET NONE,
2179 EMP_CNT INTEGER
2180 )
2181 AS
2182 DECLARE VARIABLE mngr_no INTEGER;
2183 DECLARE VARIABLE dno CHAR(3);
2184 BEGIN
2185 FOR SELECT h.department, d.department, d.mngr_no, d.dept_no
2186 FROM department d
2187 LEFT OUTER JOIN department h ON d.head_dept = h.dept_no
2188 ORDER BY d.dept_no
2189 INTO :head_dept, :department, :mngr_no, :dno
2190 DO
2191 BEGIN
2192 IF (:mngr_no IS NULL) THEN
2193 BEGIN
2194 mngr_name = '--TBH--';
2195 title = '';
2196 END
2197
2198 ELSE
2199 SELECT full_name, job_code
2200 FROM employee
2201 WHERE emp_no = :mngr_no
2202 INTO :mngr_name, :title;
2203
2204 SELECT COUNT(emp_no)
2205 FROM employee
2206 WHERE dept_no = :dno
2207 INTO :emp_cnt;
2208
2209 SUSPEND;
2210 END
2211 END
2212 ^
2213
2214 ALTER PROCEDURE SHIP_ORDER
2215 (
2216 PO_NUM CHAR(8) CHARACTER SET NONE
2217 )
2218 AS
2219 DECLARE VARIABLE ord_stat CHAR(7);
2220 DECLARE VARIABLE hold_stat CHAR(1);
2221 DECLARE VARIABLE cust_no INTEGER;
2222 DECLARE VARIABLE any_po CHAR(8);
2223 BEGIN
2224 SELECT s.order_status, c.on_hold, c.cust_no
2225 FROM sales s, customer c
2226 WHERE po_number = :po_num
2227 AND s.cust_no = c.cust_no
2228 INTO :ord_stat, :hold_stat, :cust_no;
2229
2230 /* This purchase order has been already shipped. */
2231 IF (ord_stat = 'shipped') THEN
2232 BEGIN
2233 EXCEPTION order_already_shipped;
2234 END
2235
2236 /* Customer is on hold. */
2237 ELSE IF (hold_stat = '*') THEN
2238 BEGIN
2239 EXCEPTION customer_on_hold;
2240 END
2241
2242 /*
2243 * If there is an unpaid balance on orders shipped over 2 months ago,
2244 * put the customer on hold.
2245 */
2246 FOR SELECT po_number
2247 FROM sales
2248 WHERE cust_no = :cust_no
2249 AND order_status = 'shipped'
2250 AND paid = 'n'
2251 AND ship_date < CAST('NOW' AS TIMESTAMP) - 60
2252 INTO :any_po
2253 DO
2254 BEGIN
2255 EXCEPTION customer_check;
2256
2257 UPDATE customer
2258 SET on_hold = '*'
2259 WHERE cust_no = :cust_no;
2260
2261 END
2262
2263 /*
2264 * Ship the order.
2265 */
2266 UPDATE sales
2267 SET order_status = 'shipped', ship_date = 'NOW'
2268 WHERE po_number = :po_num;
2269
2270 END
2271 ^
2272
2273 ALTER PROCEDURE SUB_TOT_BUDGET
2274 (
2275 HEAD_DEPT CHAR(3) CHARACTER SET NONE
2276 )
2277 RETURNS
2278 (
2279 TOT_BUDGET DECIMAL(12,2),
2280 AVG_BUDGET DECIMAL(12,2),
2281 MIN_BUDGET DECIMAL(12,2),
2282 MAX_BUDGET DECIMAL(12,2)
2283 )
2284 AS
2285 BEGIN
2286 SELECT SUM(budget), AVG(budget), MIN(budget), MAX(budget)
2287 FROM department
2288 WHERE head_dept = :head_dept
2289 INTO :tot_budget, :avg_budget, :min_budget, :max_budget;
2290 SUSPEND;
2291 END
2292 ^
2293
2294 ALTER PROCEDURE "UC SPACE"
2295 (
2296 ARG1 INTEGER
2297 )
2298 AS
2299 Begin End
2300 ^
2301
2302 ALTER PROCEDURE "iCASE"
2303 AS
2304 Begin End
2305 ^
2306
2307 SET TERM ;^
2308 COMMIT WORK;
2309 SET AUTODDL ON;
2310 COMMIT WORK;
2311 SET AUTODDL OFF;
2312 SET TERM ^;
2313
2314 /* Stored Function Body */
2315
2316 ALTER FUNCTION F (X INTEGER)
2317 RETURNS INTEGER
2318 AS
2319 BEGIN
2320 RETURN X+1;
2321 END
2322 ^
2323
2324 SET TERM ;^
2325 COMMIT WORK;
2326 SET AUTODDL ON;
2327
2328 /* Comments on System Objects */
2329
2330 COMMENT ON CHARACTER SET UTF8 IS 'Default Character set';
2331
2332 /* Grant Roles for this database */
2333
2334
2335 /* Role: TESTROLE, Owner: SYSDBA */
2336
2337 CREATE ROLE TESTROLE SET SYSTEM PRIVILEGES TO CREATE_DATABASE;
2338
2339 /* Grant permissions for this database */
2340
2341 GRANT REFERENCES ON TABLE COUNTRIES TO USER BOB ;
2342 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE COUNTRY TO USER PUBLIC WITH GRANT OPTION ;
2343 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE CUSTOMER TO USER PUBLIC WITH GRANT OPTION ;
2344 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE DEPARTMENT TO USER PUBLIC WITH GRANT OPTION ;
2345 GRANT SELECT ON TABLE EMPLOYEE TO USER ALICE WITH GRANT OPTION GRANTED BY BOB ;
2346 GRANT SELECT,Update(FIRST_NAME,LAST_NAME) ON TABLE EMPLOYEE TO USER BOB ;
2347 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE EMPLOYEE TO USER PUBLIC WITH GRANT OPTION ;
2348 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE EMPLOYEE_PROJECT TO USER PUBLIC WITH GRANT OPTION ;
2349 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE FB$OUT_TABLE TO PACKAGE FB$OUT ;
2350 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE JOB TO USER PUBLIC WITH GRANT OPTION ;
2351 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE PHONE_LIST TO USER PUBLIC WITH GRANT OPTION ;
2352 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE PROJECT TO USER PUBLIC WITH GRANT OPTION ;
2353 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE PROJ_DEPT_BUDGET TO USER PUBLIC WITH GRANT OPTION ;
2354 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE SALARY_HISTORY TO USER PUBLIC WITH GRANT OPTION ;
2355 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE SALES TO USER PUBLIC WITH GRANT OPTION ;
2356 GRANT RDB$ADMIN TO ALICE;
2357
2358 GRANT RDB$ADMIN TO BOB;
2359
2360 GRANT EXECUTE ON PROCEDURE ADD_EMP_PROJ TO USER PUBLIC WITH GRANT OPTION ;
2361 GRANT EXECUTE ON PROCEDURE ALL_LANGS TO USER PUBLIC WITH GRANT OPTION ;
2362 GRANT EXECUTE ON PROCEDURE DELETE_EMPLOYEE TO USER PUBLIC WITH GRANT OPTION ;
2363 GRANT EXECUTE ON PROCEDURE DEPT_BUDGET TO USER PUBLIC WITH GRANT OPTION ;
2364 GRANT EXECUTE ON PROCEDURE GET_EMP_PROJ TO USER PUBLIC WITH GRANT OPTION ;
2365 GRANT EXECUTE ON PROCEDURE MAIL_LABEL TO USER PUBLIC WITH GRANT OPTION ;
2366 GRANT EXECUTE ON PROCEDURE ORG_CHART TO USER PUBLIC WITH GRANT OPTION ;
2367 GRANT EXECUTE ON PROCEDURE SHIP_ORDER TO USER PUBLIC WITH GRANT OPTION ;
2368 GRANT EXECUTE ON PROCEDURE SHOW_LANGS TO USER PUBLIC WITH GRANT OPTION ;
2369 GRANT EXECUTE ON PROCEDURE SUB_TOT_BUDGET TO USER PUBLIC WITH GRANT OPTION ;
2370 GRANT EXECUTE ON PACKAGE FB$OUT TO USER PUBLIC ;
2371 GRANT CREATE TABLE TO USER BOB ;
2372 GRANT CREATE COLLATION TO USER BOB ;
2373 GRANT CREATE CHARACTER SET TO USER ALICE ;
2374 GRANT CREATE COLLATION TO USER ALICE ;
2375 GRANT CREATE DOMAIN TO USER ALICE ;
2376 GRANT CREATE EXCEPTION TO USER ALICE ;
2377 GRANT CREATE FILTER TO USER ALICE ;
2378 GRANT CREATE FUNCTION TO USER ALICE ;
2379 GRANT CREATE GENERATOR TO USER ALICE ;
2380 GRANT CREATE PACKAGE TO USER ALICE ;
2381 GRANT CREATE PROCEDURE TO USER ALICE ;
2382 GRANT CREATE ROLE TO USER ALICE ;
2383 GRANT CREATE TABLE TO USER ALICE ;
2384 GRANT CREATE VIEW TO USER ALICE ;
2385 GRANT DROP ANY TABLE TO USER ALICE ;
2386 GRANT ALTER ANY VIEW TO USER ALICE ;
2387 GRANT DROP ANY GENERATOR TO USER ALICE ;