ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/testsuite/resources/Test10.sql
Revision: 348
Committed: Wed Oct 6 09:38:14 2021 UTC (2 years, 6 months ago) by tony
Content type: application/sql
File size: 95551 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
224 DECLARE EXTERNAL FUNCTION I64TRUNCATE
225 NUMERIC(18, 0) BY DESCRIPTOR, NUMERIC(18, 0) BY DESCRIPTOR
226 RETURNS PARAMETER 2
227 ENTRY_POINT 'fbtruncate' MODULE_NAME 'fbudf'
228
229 ;
230
231
232 DECLARE EXTERNAL FUNCTION TESTIT
233 TIMESTAMP, INTEGER NULL, CSTRING(10) CHARACTER SET NONE, CSTRING(10) CHARACTER SET NONE BY DESCRIPTOR
234 RETURNS CSTRING(32) CHARACTER SET NONE FREE_IT
235 ENTRY_POINT 'testit' MODULE_NAME 'fbudf'
236
237 ;
238
239
240 /* Data Starts */
241
242 /* Inserting data into Table: COUNTRY */
243
244 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('USA','Dollar');
245 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('England','Pound');
246 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Canada','CdnDlr');
247 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Switzerland','SFranc');
248 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Japan','Yen');
249 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Italy','Euro');
250 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('France','Euro');
251 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Germany','Euro');
252 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Australia','ADollar');
253 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Hong Kong','HKDollar');
254 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Netherlands','Euro');
255 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Belgium','Euro');
256 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Austria','Euro');
257 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Fiji','FDollar');
258 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Russia','Ruble');
259 INSERT INTO COUNTRY (COUNTRY,CURRENCY) VALUES('Romania','RLeu');
260 COMMIT;
261
262 /* Inserting data into Table: CUSTOMER */
263
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(1001,'Signature Design','Dale J.','Little','(619) 530-2710','15500 Pacific Heights Blvd.',NULL,'San Diego','CA','USA','92121',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(1002,'Dallas Technologies','Glen','Brown','(214) 960-2233','P. O. Box 47000',NULL,'Dallas','TX','USA','75205','*',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(1003,'Buttle, Griffith and Co.','James','Buttle','(617) 488-1864','2300 Newbury Street','Suite 101','Boston','MA','USA','02115',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(1004,'Central Bank','Elizabeth','Brocket','61 211 99 88','66 Lloyd Street',NULL,'Manchester',NULL,'England','M2 3LA',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(1005,'DT Systems, LTD.','Tai','Wu','(852) 850 43 98','400 Connaught Road',NULL,'Central Hong Kong',NULL,'Hong Kong',NULL,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(1006,'DataServe International','Tomas','Bright','(613) 229 3323','2000 Carling Avenue','Suite 150','Ottawa','ON','Canada','K1V 9G1',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(1007,'Mrs. Beauvais',NULL,'Mrs. Beauvais',NULL,'P.O. Box 22743',NULL,'Pebble Beach','CA','USA','93953',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(1008,'Anini Vacation Rentals','Leilani','Briggs','(808) 835-7605','3320 Lawai Road',NULL,'Lihue','HI','USA','96766',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(1009,'Max','Max',NULL,'22 01 23','1 Emerald Cove',NULL,'Turtle Island',NULL,'Fiji',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(1010,'MPM Corporation','Miwako','Miyamoto','3 880 77 19','2-64-7 Sasazuka',NULL,'Tokyo',NULL,'Japan','150',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(1011,'Dynamic Intelligence Corp','Victor','Granges','01 221 16 50','Florhofgasse 10',NULL,'Zurich',NULL,'Switzerland','8005',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(1012,'3D-Pad Corp.','Michelle','Roche','1 43 60 61','22 Place de la Concorde',NULL,'Paris',NULL,'France','75008',NULL,NULL);
276 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);
277 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);
278 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);
279 COMMIT;
280
281 /* Inserting data into Table: DEPARTMENT */
282
283 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');
284 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');
285 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('600','Engineering','000',2,1100000,'Monterey','(408) 555-1234');
286 INSERT INTO DEPARTMENT (DEPT_NO,DEPARTMENT,HEAD_DEPT,MNGR_NO,BUDGET,LOCATION,PHONE_NO) VALUES('900','Finance','000',46,400000,'Monterey','(408) 555-1234');
287 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');
288 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');
289 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');
290 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');
291 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');
292 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');
293 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');
294 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');
295 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');
296 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');
297 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');
298 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');
299 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');
300 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');
301 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');
302 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');
303 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');
304 COMMIT;
305
306 /* Inserting data into Table: EMPLOYEE */
307
308 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);
309 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);
310 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);
311 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);
312 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);
313 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);
314 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);
315 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);
316 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);
317 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);
318 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);
319 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);
320 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);
321 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);
322 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);
323 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);
324 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);
325 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);
326 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);
327 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);
328 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);
329 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);
330 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);
331 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);
332 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);
333 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);
334 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);
335 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);
336 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);
337 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);
338 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);
339 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);
340 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);
341 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);
342 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);
343 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);
344 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);
345 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);
346 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);
347 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);
348 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);
349 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);
350 COMMIT;
351
352 /* Inserting data into Table: EMPLOYEE_PROJECT */
353
354 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(144,'DGPII');
355 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(113,'DGPII');
356 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(24,'DGPII');
357 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(8,'VBASE');
358 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(136,'VBASE');
359 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(15,'VBASE');
360 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(71,'VBASE');
361 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(145,'VBASE');
362 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(44,'VBASE');
363 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(4,'VBASE');
364 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(83,'VBASE');
365 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(138,'VBASE');
366 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(45,'VBASE');
367 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(20,'GUIDE');
368 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(24,'GUIDE');
369 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(113,'GUIDE');
370 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(8,'GUIDE');
371 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(4,'MAPDB');
372 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(71,'MAPDB');
373 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(46,'MKTPR');
374 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(105,'MKTPR');
375 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(12,'MKTPR');
376 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(85,'MKTPR');
377 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(110,'MKTPR');
378 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(34,'MKTPR');
379 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(8,'MKTPR');
380 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(14,'MKTPR');
381 INSERT INTO EMPLOYEE_PROJECT (EMP_NO,PROJ_ID) VALUES(52,'MKTPR');
382 COMMIT;
383
384 /* Inserting data into Table: ITEST */
385
386 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(1,'Testing');
387 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(3,'Another');
388 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(4,'Test');
389 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(7,'Test');
390 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(8,'Again');
391 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(9,'Test');
392 INSERT INTO ITEST ("KEY",SOMETEXT) VALUES(10,' 2');
393 COMMIT;
394
395 /* Inserting data into Table: JOB */
396
397 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.
398 ',NULL);
399 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
400 with a proven track record.
401 MBA or J.D. degree.
402 ',NULL);
403 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.
404 ',NULL);
405 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.
406 An advanced degree.
407 ',NULL);
408 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.
409 3-5 years in management,
410 plus 2-4 years engineering experience.
411 ',NULL);
412 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.
413 ',NULL);
414 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.
415 Strong organizational and communication skills required.
416 BA degree preferred.
417 ',NULL);
418 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.
419 Facility with word processing and data entry.
420 AA degree preferred.
421 ',NULL);
422 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);
423 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);
424 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.
425 10+ years experience in high tech environment.
426 ',NULL);
427 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.
428 3-5 years experience.
429 Knowledgeable with spreadsheets and databases.
430 ',NULL);
431 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.
432 Spreadsheet, data entry, and word processing knowledge required.
433 ',NULL);
434 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.
435 Strong analytical skills.
436 CPA/MBA required.
437 ',NULL);
438 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.
439 Ph.D/MS/BS or equivalent experience.
440 ',NULL);
441 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.
442 BA/BS required.
443 MS degree preferred.
444 ',NULL);
445 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.
446 BA/BS and/or MS degrees required.
447 Customer support experience desired.
448 Knowledge of Japanese and English.
449 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
450 <elt ix="1">Japanese
451 </elt>
452 <elt ix="2">Mandarin
453 </elt>
454 <elt ix="3">English
455 </elt>
456 <elt ix="4">
457 </elt>
458 <elt ix="5">
459 </elt>
460 </array>
461 );
462 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.
463 ',NULL);
464 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
465 2-4 years experience in technical support.
466 Knowledge of several European languages helpful.
467 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
468 <elt ix="1">English
469 </elt>
470 <elt ix="2">German
471 </elt>
472 <elt ix="3">French
473 </elt>
474 <elt ix="4">
475 </elt>
476 <elt ix="5">
477 </elt>
478 </array>
479 );
480 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.
481 2-4 years technical experience.
482 ',NULL);
483 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
484 software documentation.
485 A bachelor''s degree or equivalent.
486 Programming experience required.
487 Excellent language skills.
488 ',NULL);
489 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.
490 Some programming experience required.
491 2-4 years of technical writing.
492 ',NULL);
493 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
494 in a high tech environment.
495 Excellent communication skills.
496 BA or equivalent.
497 ',NULL);
498 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
499 in a high tech environment.
500 Excellent communication skills.
501 BA or equivalent.
502 Knowledge of several European languages helpful.
503 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
504 <elt ix="1">English
505 </elt>
506 <elt ix="2">German
507 </elt>
508 <elt ix="3">French
509 </elt>
510 <elt ix="4">
511 </elt>
512 <elt ix="5">
513 </elt>
514 </array>
515 );
516 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.
517 Excellent communications, negotiation, and analytical skills.
518 Experience in establishing long term customer relationships.
519 Some knowledge of Spanish required.
520 Travel required.
521 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
522 <elt ix="1">English
523 </elt>
524 <elt ix="2">Spanish
525 </elt>
526 <elt ix="3">
527 </elt>
528 <elt ix="4">
529 </elt>
530 <elt ix="5">
531 </elt>
532 </array>
533 );
534 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.
535 Excellent communications, negotiation, and analytical skills.
536 Experience in establishing long term customer relationships.
537 Knowledge of several European languages helpful.
538 Travel required.
539 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
540 <elt ix="1">English
541 </elt>
542 <elt ix="2">German
543 </elt>
544 <elt ix="3">French
545 </elt>
546 <elt ix="4">
547 </elt>
548 <elt ix="5">
549 </elt>
550 </array>
551 );
552 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.
553 Excellent communications, negotiation, and analytical skills.
554 Experience in establishing long term customer relationships.
555 Travel required.
556 English plus speaking knowledge of French required.
557 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
558 <elt ix="1">English
559 </elt>
560 <elt ix="2">French
561 </elt>
562 <elt ix="3">
563 </elt>
564 <elt ix="4">
565 </elt>
566 <elt ix="5">
567 </elt>
568 </array>
569 );
570 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.
571 Excellent communications, negotiation, and analytical skills.
572 Experience in establishing long term customer relationships.
573 Knowledge of German required; one or more other European language helpful.
574 Travel required.
575 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
576 <elt ix="1">German
577 </elt>
578 <elt ix="2">French
579 </elt>
580 <elt ix="3">English
581 </elt>
582 <elt ix="4">Italian
583 </elt>
584 <elt ix="5">
585 </elt>
586 </array>
587 );
588 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.
589 Excellent communications, negotiation, and analytical skills.
590 Experience in establishing long term customer relationships.
591 Knowledge of Japanese required.
592 Travel required.
593 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
594 <elt ix="1">Japanese
595 </elt>
596 <elt ix="2">English
597 </elt>
598 <elt ix="3">
599 </elt>
600 <elt ix="4">
601 </elt>
602 <elt ix="5">
603 </elt>
604 </array>
605 );
606 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.
607 Excellent communications, negotiation, and analytical skills.
608 Experience in establishing long term customer relationships.
609 Fluency in Italian; some knowledge of German helpful.
610 Travel required.
611 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
612 <elt ix="1">Italian
613 </elt>
614 <elt ix="2">German
615 </elt>
616 <elt ix="3">French
617 </elt>
618 <elt ix="4">
619 </elt>
620 <elt ix="5">
621 </elt>
622 </array>
623 );
624 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.
625 Excellent communications, negotiation, and analytical skills.
626 Experience in establishing long term customer relationships.
627 Fluency in French; some knowledge of German/Spanish helpful.
628 Travel required.
629 ',<array dim = "1" sqltype = "448" length = "15" relation_name = "JOB" column_name = "LANGUAGE_REQ" charset = "NONE" bounds="1:5">
630 <elt ix="1">English
631 </elt>
632 <elt ix="2">French
633 </elt>
634 <elt ix="3">Spanish
635 </elt>
636 <elt ix="4">
637 </elt>
638 <elt ix="5">
639 </elt>
640 </array>
641 );
642 COMMIT;
643
644 /* Inserting data into Table: PROJECT */
645
646 INSERT INTO PROJECT (PROJ_ID,PROJ_NAME,PROJ_DESC,TEAM_LEADER,PRODUCT) VALUES('VBASE','Video Database','Design a video data base management system for
647 controlling on-demand video distribution.
648 ',45,'software');
649 INSERT INTO PROJECT (PROJ_ID,PROJ_NAME,PROJ_DESC,TEAM_LEADER,PRODUCT) VALUES('DGPII','DigiPizza','Develop second generation digital pizza maker
650 with flash-bake heating element and
651 digital ingredient measuring system.
652 ',24,'other');
653 INSERT INTO PROJECT (PROJ_ID,PROJ_NAME,PROJ_DESC,TEAM_LEADER,PRODUCT) VALUES('GUIDE','AutoMap','Develop a prototype for the automobile version of
654 the hand-held map browsing device.
655 ',20,'hardware');
656 INSERT INTO PROJECT (PROJ_ID,PROJ_NAME,PROJ_DESC,TEAM_LEADER,PRODUCT) VALUES('MAPDB','MapBrowser port','Port the map browsing database software to run
657 on the automobile model.
658 ',4,'software');
659 INSERT INTO PROJECT (PROJ_ID,PROJ_NAME,PROJ_DESC,TEAM_LEADER,PRODUCT) VALUES('HWRII','Translator upgrade','Integrate the hand-writing recognition module into the
660 universal language translator.
661 ',NULL,'software');
662 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.
663 Set up a field office in Australia and Singapore.
664 ',85,'N/A');
665 COMMIT;
666
667 /* Inserting data into Table: PROJ_DEPT_BUDGET */
668
669 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">
670 <elt ix="1">1</elt>
671 <elt ix="2">1</elt>
672 <elt ix="3">1</elt>
673 <elt ix="4">0</elt>
674 </array>
675 ,200000);
676 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">
677 <elt ix="1">3</elt>
678 <elt ix="2">2</elt>
679 <elt ix="3">1</elt>
680 <elt ix="4">0</elt>
681 </array>
682 ,450000);
683 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">
684 <elt ix="1">0</elt>
685 <elt ix="2">0</elt>
686 <elt ix="3">0</elt>
687 <elt ix="4">1</elt>
688 </array>
689 ,20000);
690 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">
691 <elt ix="1">2</elt>
692 <elt ix="2">1</elt>
693 <elt ix="3">0</elt>
694 <elt ix="4">0</elt>
695 </array>
696 ,40000);
697 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">
698 <elt ix="1">1</elt>
699 <elt ix="2">1</elt>
700 <elt ix="3">0</elt>
701 <elt ix="4">0</elt>
702 </array>
703 ,60000);
704 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">
705 <elt ix="1">1</elt>
706 <elt ix="2">1</elt>
707 <elt ix="3">0</elt>
708 <elt ix="4">0</elt>
709 </array>
710 ,11000);
711 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">
712 <elt ix="1">1</elt>
713 <elt ix="2">1</elt>
714 <elt ix="3">1</elt>
715 <elt ix="4">1</elt>
716 </array>
717 ,20000);
718 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">
719 <elt ix="1">2</elt>
720 <elt ix="2">3</elt>
721 <elt ix="3">2</elt>
722 <elt ix="4">1</elt>
723 </array>
724 ,400000);
725 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">
726 <elt ix="1">1</elt>
727 <elt ix="2">1</elt>
728 <elt ix="3">2</elt>
729 <elt ix="4">2</elt>
730 </array>
731 ,100000);
732 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">
733 <elt ix="1">1</elt>
734 <elt ix="2">1</elt>
735 <elt ix="3">1</elt>
736 <elt ix="4">2</elt>
737 </array>
738 ,80000);
739 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">
740 <elt ix="1">1</elt>
741 <elt ix="2">1</elt>
742 <elt ix="3">1</elt>
743 <elt ix="4">2</elt>
744 </array>
745 ,100000);
746 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">
747 <elt ix="1">4</elt>
748 <elt ix="2">5</elt>
749 <elt ix="3">6</elt>
750 <elt ix="4">6</elt>
751 </array>
752 ,1000000);
753 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">
754 <elt ix="1">2</elt>
755 <elt ix="2">2</elt>
756 <elt ix="3">0</elt>
757 <elt ix="4">3</elt>
758 </array>
759 ,200000);
760 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">
761 <elt ix="1">1</elt>
762 <elt ix="2">1</elt>
763 <elt ix="3">2</elt>
764 <elt ix="4">2</elt>
765 </array>
766 ,100000);
767 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">
768 <elt ix="1">7</elt>
769 <elt ix="2">7</elt>
770 <elt ix="3">4</elt>
771 <elt ix="4">4</elt>
772 </array>
773 ,1200000);
774 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">
775 <elt ix="1">2</elt>
776 <elt ix="2">3</elt>
777 <elt ix="3">3</elt>
778 <elt ix="4">3</elt>
779 </array>
780 ,800000);
781 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">
782 <elt ix="1">4</elt>
783 <elt ix="2">5</elt>
784 <elt ix="3">6</elt>
785 <elt ix="4">6</elt>
786 </array>
787 ,2000000);
788 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">
789 <elt ix="1">1</elt>
790 <elt ix="2">1</elt>
791 <elt ix="3">1</elt>
792 <elt ix="4">1</elt>
793 </array>
794 ,1200000);
795 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">
796 <elt ix="1">4</elt>
797 <elt ix="2">5</elt>
798 <elt ix="3">5</elt>
799 <elt ix="4">3</elt>
800 </array>
801 ,1900000);
802 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">
803 <elt ix="1">4</elt>
804 <elt ix="2">3</elt>
805 <elt ix="3">2</elt>
806 <elt ix="4">2</elt>
807 </array>
808 ,900000);
809 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">
810 <elt ix="1">2</elt>
811 <elt ix="2">2</elt>
812 <elt ix="3">2</elt>
813 <elt ix="4">1</elt>
814 </array>
815 ,400000);
816 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">
817 <elt ix="1">1</elt>
818 <elt ix="2">1</elt>
819 <elt ix="3">2</elt>
820 <elt ix="4">3</elt>
821 </array>
822 ,300000);
823 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">
824 <elt ix="1">3</elt>
825 <elt ix="2">3</elt>
826 <elt ix="3">1</elt>
827 <elt ix="4">1</elt>
828 </array>
829 ,1500000);
830 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">
831 <elt ix="1">1</elt>
832 <elt ix="2">1</elt>
833 <elt ix="3">0</elt>
834 <elt ix="4">0</elt>
835 </array>
836 ,150000);
837 COMMIT;
838
839 /* Inserting data into Table: SALARY_HISTORY */
840
841 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);
842 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);
843 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);
844 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);
845 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);
846 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);
847 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);
848 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);
849 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);
850 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);
851 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);
852 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);
853 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);
854 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);
855 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);
856 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);
857 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);
858 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);
859 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);
860 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);
861 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);
862 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);
863 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);
864 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);
865 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);
866 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);
867 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);
868 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);
869 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);
870 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);
871 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);
872 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);
873 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);
874 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);
875 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);
876 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);
877 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);
878 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);
879 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);
880 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);
881 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);
882 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);
883 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);
884 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);
885 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);
886 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);
887 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);
888 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);
889 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);
890 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);
891 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);
892 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);
893 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);
894 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);
895 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);
896 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);
897 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);
898 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);
899 COMMIT;
900
901 /* Inserting data into Table: SALES */
902
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
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('V93F3088',1012,134,'shipped','1993.08.27 00:00:00.000','1993.09.08 00:00:00.000',NULL,'n',10,10000,0,'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('V93F2030',1012,134,'open','1993.12.12 00:00:00.000',NULL,NULL,'y',15,450000.49,0,'hardware');
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
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('V9346200',1003,11,'waiting','1993.12.31 00:00:00.000',NULL,'1994.01.24 00:00:00.000','n',3,0,1,'software');
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
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('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');
933 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');
934 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');
935 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');
936 COMMIT;
937 /* Data Ends */
938
939 /* Index definitions for all user tables */
940
941 CREATE INDEX CUSTNAMEX ON CUSTOMER(CUSTOMER);
942 CREATE INDEX CUSTREGION ON CUSTOMER(COUNTRY, CITY);
943 CREATE DESCENDING INDEX BUDGETX ON DEPARTMENT(BUDGET);
944 CREATE INDEX NAMEX ON EMPLOYEE(LAST_NAME, FIRST_NAME);
945 CREATE DESCENDING INDEX MAXSALX ON JOB(JOB_COUNTRY, MAX_SALARY);
946 CREATE INDEX MINSALX ON JOB(JOB_COUNTRY, MIN_SALARY);
947 CREATE UNIQUE INDEX PRODTYPEX ON PROJECT(PRODUCT, PROJ_NAME);
948 CREATE DESCENDING INDEX CHANGEX ON SALARY_HISTORY(CHANGE_DATE);
949 CREATE INDEX UPDATERX ON SALARY_HISTORY(UPDATER_ID);
950 CREATE INDEX NEEDX ON SALES(DATE_NEEDED);
951 CREATE DESCENDING INDEX QTYX ON SALES(ITEM_TYPE, QTY_ORDERED);
952 CREATE INDEX SALESTATX ON SALES(ORDER_STATUS, PAID);
953 ALTER TABLE CUSTOMER ADD FOREIGN KEY (COUNTRY) REFERENCES COUNTRY (COUNTRY);
954 ALTER TABLE DEPARTMENT ADD FOREIGN KEY (HEAD_DEPT) REFERENCES DEPARTMENT (DEPT_NO);
955 ALTER TABLE DEPARTMENT ADD FOREIGN KEY (MNGR_NO) REFERENCES EMPLOYEE (EMP_NO);
956 ALTER TABLE EMPLOYEE ADD FOREIGN KEY (DEPT_NO) REFERENCES DEPARTMENT (DEPT_NO);
957 ALTER TABLE EMPLOYEE ADD FOREIGN KEY (JOB_CODE, JOB_GRADE, JOB_COUNTRY) REFERENCES JOB (JOB_CODE, JOB_GRADE, JOB_COUNTRY);
958 ALTER TABLE EMPLOYEE_PROJECT ADD FOREIGN KEY (EMP_NO) REFERENCES EMPLOYEE (EMP_NO);
959 ALTER TABLE EMPLOYEE_PROJECT ADD FOREIGN KEY (PROJ_ID) REFERENCES PROJECT (PROJ_ID);
960 ALTER TABLE JOB ADD FOREIGN KEY (JOB_COUNTRY) REFERENCES COUNTRY (COUNTRY);
961 ALTER TABLE PROJECT ADD FOREIGN KEY (TEAM_LEADER) REFERENCES EMPLOYEE (EMP_NO);
962 ALTER TABLE PROJ_DEPT_BUDGET ADD FOREIGN KEY (DEPT_NO) REFERENCES DEPARTMENT (DEPT_NO);
963 ALTER TABLE PROJ_DEPT_BUDGET ADD FOREIGN KEY (PROJ_ID) REFERENCES PROJECT (PROJ_ID);
964 ALTER TABLE SALARY_HISTORY ADD FOREIGN KEY (EMP_NO) REFERENCES EMPLOYEE (EMP_NO);
965 ALTER TABLE SALES ADD FOREIGN KEY (CUST_NO) REFERENCES CUSTOMER (CUST_NO);
966 ALTER TABLE SALES ADD FOREIGN KEY (SALES_REP) REFERENCES EMPLOYEE (EMP_NO);
967
968 CREATE SEQUENCE CUST_NO_GEN;
969 ALTER SEQUENCE CUST_NO_GEN RESTART WITH 1016;
970 CREATE SEQUENCE EMP_NO_GEN;
971 ALTER SEQUENCE EMP_NO_GEN RESTART WITH 158;
972 CREATE SEQUENCE FB$OUT_SEQ;
973 ALTER SEQUENCE FB$OUT_SEQ RESTART WITH 1;
974
975 /* View: DEPTLIST, Owner: SYSDBA */
976
977 CREATE VIEW DEPTLIST (
978 EMP_NO,
979 FIRST_NAME,
980 LAST_NAME,
981 PHONE_EXT,
982 HIRE_DATE,
983 DEPT_NO,
984 JOB_CODE,
985 JOB_GRADE,
986 JOB_COUNTRY,
987 SALARY,
988 FULL_NAME,
989 DEPT_PATH,
990 DEPT_KEY_PATH,
991 "Payment Status"
992 ) AS
993 with recursive Depts As (
994 Select DEPT_NO, DEPARTMENT, HEAD_DEPT, cast(DEPARTMENT as VarChar(256)) as DEPT_PATH,
995 cast(DEPT_NO as VarChar(64)) as DEPT_KEY_PATH
996 From DEPARTMENT Where HEAD_DEPT is NULL
997 UNION ALL
998 Select D.DEPT_NO, D.DEPARTMENT, D.HEAD_DEPT, Depts.DEPT_PATH || ' / ' || D.DEPARTMENT as DEPT_PATH,
999 Depts.DEPT_KEY_PATH || ';' || D.DEPT_NO as DEPT_KEY_PATH
1000 From DEPARTMENT D
1001 JOIN Depts On D.HEAD_DEPT = Depts.DEPT_NO
1002 )
1003
1004 Select distinct A.EMP_NO, A.FIRST_NAME, A.LAST_NAME, A.PHONE_EXT, A.HIRE_DATE, A.DEPT_NO, A.JOB_CODE,
1005 A.JOB_GRADE, A.JOB_COUNTRY, A.SALARY, A.FULL_NAME, D.DEPT_PATH, D.DEPT_KEY_PATH,
1006 CASE When A.SALARY > 10000 then 'higher paid' else 'lower paid' End
1007 From EMPLOYEE A
1008 JOIN Depts D On D.DEPT_NO = A.DEPT_NO
1009 ;
1010
1011 /* View: PHONE_LIST, Owner: SYSDBA */
1012
1013 CREATE VIEW PHONE_LIST (
1014 EMP_NO,
1015 FIRST_NAME,
1016 LAST_NAME,
1017 PHONE_EXT,
1018 LOCATION,
1019 PHONE_NO
1020 ) AS
1021 SELECT
1022 emp_no, first_name, last_name, phone_ext, location, phone_no
1023 FROM employee, department
1024 WHERE employee.dept_no = department.dept_no
1025 ;
1026
1027 /* Add Domain Check Constraints */
1028
1029
1030 ALTER DOMAIN BUDGET ADD CONSTRAINT
1031 CHECK (VALUE > 10000 AND VALUE <= 2000000);
1032
1033 ALTER DOMAIN CUSTNO ADD CONSTRAINT
1034 CHECK (VALUE > 1000);
1035 ALTER DOMAIN DEPTNO ADD CONSTRAINT
1036 CHECK (VALUE = '000' OR (VALUE > '0' AND VALUE <= '999') OR VALUE IS NULL);
1037
1038
1039
1040 ALTER DOMAIN JOBCODE ADD CONSTRAINT
1041 CHECK (VALUE > '99999');
1042 ALTER DOMAIN JOBGRADE ADD CONSTRAINT
1043 CHECK (VALUE BETWEEN 0 AND 6);
1044
1045
1046 ALTER DOMAIN PONUMBER ADD CONSTRAINT
1047 CHECK (VALUE STARTING WITH 'V');
1048 ALTER DOMAIN PRODTYPE ADD CONSTRAINT
1049 CHECK (VALUE IN ('software', 'hardware', 'other', 'N/A'));
1050 ALTER DOMAIN PROJNO ADD CONSTRAINT
1051 CHECK (VALUE = UPPER (VALUE));
1052 ALTER DOMAIN SALARY ADD CONSTRAINT
1053 CHECK (VALUE > 0);
1054 ALTER TABLE JOB ADD
1055 CHECK (min_salary < max_salary);
1056
1057 ALTER TABLE JOB ADD
1058 CHECK (min_salary < max_salary);
1059
1060 ALTER TABLE EMPLOYEE ADD
1061 CHECK ( salary >= (SELECT min_salary FROM job WHERE
1062 job.job_code = employee.job_code AND
1063 job.job_grade = employee.job_grade AND
1064 job.job_country = employee.job_country) AND
1065 salary <= (SELECT max_salary FROM job WHERE
1066 job.job_code = employee.job_code AND
1067 job.job_grade = employee.job_grade AND
1068 job.job_country = employee.job_country));
1069
1070 ALTER TABLE PROJ_DEPT_BUDGET ADD
1071 CHECK (FISCAL_YEAR >= 1993);
1072
1073 ALTER TABLE SALARY_HISTORY ADD
1074 CHECK (percent_change between -50 and 50);
1075
1076 ALTER TABLE CUSTOMER ADD
1077 CHECK (on_hold IS NULL OR on_hold = '*');
1078
1079 ALTER TABLE SALES ADD
1080 CHECK (order_status in
1081 ('new', 'open', 'shipped', 'waiting'));
1082
1083 ALTER TABLE SALES ADD
1084 CHECK (ship_date >= order_date OR ship_date IS NULL);
1085
1086 ALTER TABLE SALES ADD
1087 CHECK (date_needed > order_date OR date_needed IS NULL);
1088
1089 ALTER TABLE SALES ADD
1090 CHECK (paid in ('y', 'n'));
1091
1092 ALTER TABLE SALES ADD
1093 CHECK (qty_ordered >= 1);
1094
1095 ALTER TABLE SALES ADD
1096 CHECK (total_value >= 0);
1097
1098 ALTER TABLE SALES ADD
1099 CHECK (discount >= 0 AND discount <= 1);
1100
1101 ALTER TABLE SALES ADD
1102 CHECK (NOT (order_status = 'shipped' AND ship_date IS NULL));
1103
1104 ALTER TABLE SALES ADD
1105 CHECK (NOT (order_status = 'shipped' AND
1106 EXISTS (SELECT on_hold FROM customer
1107 WHERE customer.cust_no = sales.cust_no
1108 AND customer.on_hold = '*')));
1109
1110
1111 /* Exceptions */
1112
1113 CREATE EXCEPTION CUSTOMER_CHECK 'Overdue balance -- can not ship.';
1114 CREATE EXCEPTION CUSTOMER_ON_HOLD 'This customer is on hold.';
1115 CREATE EXCEPTION ORDER_ALREADY_SHIPPED 'Order status is "shipped."';
1116 CREATE EXCEPTION REASSIGN_SALES 'Reassign the sales records before deleting this employee.';
1117 CREATE EXCEPTION UNKNOWN_EMP_ID 'Invalid employee number or project id.';
1118 COMMIT WORK;
1119 SET AUTODDL OFF;
1120 SET TERM ^ ;
1121
1122 /* Package Definitions */
1123
1124 CREATE PACKAGE FB$OUT
1125 AS
1126
1127 begin
1128 procedure enable;
1129 procedure disable;
1130
1131 procedure put_line (line fb$out_type);
1132 procedure clear;
1133
1134 procedure get_lines returns (lines fb$out_type);
1135 end
1136 ^
1137
1138 CREATE PACKAGE SELECT$TEST
1139 AS
1140
1141 Begin
1142 Procedure ShowItems(IPARAM Integer) RETURNS (OutParam integer);
1143 End
1144 ^
1145
1146 SET TERM ;^
1147 COMMIT WORK;
1148 SET AUTODDL ON;
1149 COMMIT WORK;
1150 SET AUTODDL OFF;
1151 SET TERM ^ ;
1152
1153 /* Stored procedures Definitions*/
1154
1155 CREATE PROCEDURE SHOW_LANGS
1156 (
1157 CODE VARCHAR(5) CHARACTER SET NONE,
1158 GRADE SMALLINT,
1159 CTY VARCHAR(15) CHARACTER SET NONE
1160 )
1161 RETURNS
1162 (
1163 LANGUAGES VARCHAR(15) CHARACTER SET NONE
1164 )
1165 AS
1166 BEGIN SUSPEND; EXIT; END
1167
1168 ^
1169
1170 CREATE PROCEDURE ADD_EMP_PROJ
1171 (
1172 EMP_NO SMALLINT,
1173 PROJ_ID CHAR(5) CHARACTER SET NONE
1174 )
1175 AS
1176 BEGIN EXIT; END
1177
1178 ^
1179
1180 CREATE PROCEDURE ALL_LANGS
1181 RETURNS
1182 (
1183 CODE VARCHAR(5) CHARACTER SET NONE,
1184 GRADE VARCHAR(5) CHARACTER SET NONE,
1185 COUNTRY VARCHAR(15) CHARACTER SET NONE,
1186 LANG VARCHAR(15) CHARACTER SET NONE
1187 )
1188 AS
1189 BEGIN SUSPEND; EXIT; END
1190
1191 ^
1192
1193 CREATE PROCEDURE DELETE_EMPLOYEE
1194 (
1195 EMP_NUM INTEGER
1196 )
1197 AS
1198 BEGIN EXIT; END
1199
1200 ^
1201
1202 CREATE PROCEDURE DEPT_BUDGET
1203 (
1204 DNO CHAR(3) CHARACTER SET NONE
1205 )
1206 RETURNS
1207 (
1208 TOT DECIMAL(12, 2)
1209 )
1210 AS
1211 BEGIN SUSPEND; EXIT; END
1212
1213 ^
1214
1215 CREATE PROCEDURE EMPLOYEE_PAY_STATUS
1216 (
1217 EMP_NO SMALLINT
1218 )
1219 RETURNS
1220 (
1221 PAY_STATUS VARCHAR(6) CHARACTER SET NONE
1222 )
1223 AS
1224 BEGIN EXIT; END
1225
1226 ^
1227
1228
1229 CREATE PROCEDURE GET_EMP_PROJ
1230 (
1231 EMP_NO SMALLINT
1232 )
1233 RETURNS
1234 (
1235 PROJ_ID CHAR(5) CHARACTER SET NONE
1236 )
1237 AS
1238 BEGIN SUSPEND; EXIT; END
1239
1240 ^
1241
1242 CREATE PROCEDURE "Has Space"
1243 (
1244 ARG1 INTEGER
1245 )
1246 AS
1247 BEGIN EXIT; END
1248
1249 ^
1250
1251 CREATE PROCEDURE MAIL_LABEL
1252 (
1253 CUST_NO INTEGER
1254 )
1255 RETURNS
1256 (
1257 LINE1 CHAR(40) CHARACTER SET NONE,
1258 LINE2 CHAR(40) CHARACTER SET NONE,
1259 LINE3 CHAR(40) CHARACTER SET NONE,
1260 LINE4 CHAR(40) CHARACTER SET NONE,
1261 LINE5 CHAR(40) CHARACTER SET NONE,
1262 LINE6 CHAR(40) CHARACTER SET NONE
1263 )
1264 AS
1265 BEGIN SUSPEND; EXIT; END
1266
1267 ^
1268
1269 CREATE PROCEDURE ORG_CHART
1270 RETURNS
1271 (
1272 HEAD_DEPT CHAR(25) CHARACTER SET NONE,
1273 DEPARTMENT CHAR(25) CHARACTER SET NONE,
1274 MNGR_NAME CHAR(20) CHARACTER SET NONE,
1275 TITLE CHAR(5) CHARACTER SET NONE,
1276 EMP_CNT INTEGER
1277 )
1278 AS
1279 BEGIN SUSPEND; EXIT; END
1280
1281 ^
1282
1283 CREATE PROCEDURE SHIP_ORDER
1284 (
1285 PO_NUM CHAR(8) CHARACTER SET NONE
1286 )
1287 AS
1288 BEGIN EXIT; END
1289
1290 ^
1291
1292 CREATE PROCEDURE SUB_TOT_BUDGET
1293 (
1294 HEAD_DEPT CHAR(3) CHARACTER SET NONE
1295 )
1296 RETURNS
1297 (
1298 TOT_BUDGET DECIMAL(12, 2),
1299 AVG_BUDGET DECIMAL(12, 2),
1300 MIN_BUDGET DECIMAL(12, 2),
1301 MAX_BUDGET DECIMAL(12, 2)
1302 )
1303 AS
1304 BEGIN SUSPEND; EXIT; END
1305
1306 ^
1307
1308 CREATE PROCEDURE "UC SPACE"
1309 (
1310 ARG1 INTEGER
1311 )
1312 AS
1313 BEGIN EXIT; END
1314
1315 ^
1316
1317 CREATE PROCEDURE "iCASE"
1318 AS
1319 BEGIN EXIT; END
1320
1321 ^
1322
1323 SET TERM ;^
1324 COMMIT WORK;
1325 SET AUTODDL ON;
1326 COMMIT WORK;
1327 SET AUTODDL OFF;
1328 SET TERM ^ ;
1329
1330 /* Stored Function declarations */
1331
1332 CREATE FUNCTION F (X INTEGER)
1333 RETURNS INTEGER
1334 AS BEGIN END
1335
1336 ^
1337
1338
1339 SET TERM ;^
1340 COMMIT WORK;
1341 SET AUTODDL ON;
1342 SET TERM ^ ;
1343
1344
1345 /* Triggers only will work for SQL triggers */
1346
1347 CREATE TRIGGER "After Create Database"
1348 ACTIVE ON CONNECT POSITION 0
1349 as
1350 begin
1351 End
1352 ^
1353 CREATE TRIGGER "BEFORE CREATE TABLE"
1354 ACTIVE BEFORE CREATE TABLE POSITION 0
1355 AS BEGIN END
1356 ^
1357 CREATE TRIGGER "AFTER CREATE TABLE"
1358 ACTIVE AFTER CREATE TABLE POSITION 0
1359 AS BEGIN END
1360 ^
1361 CREATE TRIGGER "BEFORE ALTER TABLE"
1362 ACTIVE BEFORE ALTER TABLE POSITION 0
1363 AS BEGIN END
1364 ^
1365 CREATE TRIGGER "AFTER ALTER TABLE"
1366 ACTIVE AFTER ALTER TABLE POSITION 0
1367 AS BEGIN END
1368 ^
1369 CREATE TRIGGER "AFTER CREATE/Alter TABLE"
1370 ACTIVE AFTER CREATE TABLE OR ALTER TABLE POSITION 0
1371 AS BEGIN END
1372 ^
1373 CREATE TRIGGER "BEFORE DROP TABLE"
1374 ACTIVE BEFORE Drop TABLE POSITION 0
1375 AS BEGIN END
1376 ^
1377 CREATE TRIGGER "AFTER DROP TABLE"
1378 ACTIVE AFTER Drop TABLE POSITION 0
1379 AS BEGIN END
1380 ^
1381 CREATE TRIGGER "BEFORE CREATE PROCEDURE"
1382 ACTIVE BEFORE CREATE PROCEDURE POSITION 0
1383 AS BEGIN END
1384 ^
1385 CREATE TRIGGER "AFTER CREATE PROCEDURE"
1386 ACTIVE AFTER CREATE PROCEDURE POSITION 0
1387 AS BEGIN END
1388 ^
1389 CREATE TRIGGER "BEFORE ALTER PROCEDURE"
1390 ACTIVE BEFORE ALTER PROCEDURE POSITION 0
1391 AS BEGIN END
1392 ^
1393 CREATE TRIGGER "AFTER ALTER PROCEDURE"
1394 ACTIVE AFTER ALTER PROCEDURE POSITION 0
1395 AS BEGIN END
1396 ^
1397 CREATE TRIGGER "BEFORE DROP PROCEDURE"
1398 ACTIVE BEFORE Drop PROCEDURE POSITION 0
1399 AS BEGIN END
1400 ^
1401 CREATE TRIGGER "AFTER DROP PROCEDURE"
1402 ACTIVE AFTER Drop PROCEDURE POSITION 0
1403 AS BEGIN END
1404 ^
1405 CREATE TRIGGER "BEFORE CREATE FUNCTION"
1406 ACTIVE BEFORE CREATE FUNCTION POSITION 0
1407 AS BEGIN END
1408 ^
1409 CREATE TRIGGER "AFTER CREATE FUNCTION"
1410 ACTIVE AFTER CREATE FUNCTION POSITION 0
1411 AS BEGIN END
1412 ^
1413 CREATE TRIGGER "BEFORE ALTER FUNCTION"
1414 ACTIVE BEFORE ALTER FUNCTION POSITION 0
1415 AS BEGIN END
1416 ^
1417 CREATE TRIGGER "AFTER ALTER FUNCTION"
1418 ACTIVE AFTER ALTER FUNCTION POSITION 0
1419 AS BEGIN END
1420 ^
1421 CREATE TRIGGER "BEFORE DROP FUNCTION"
1422 ACTIVE BEFORE Drop FUNCTION POSITION 0
1423 AS BEGIN END
1424 ^
1425 CREATE TRIGGER "AFTER DROP FUNCTION"
1426 ACTIVE AFTER Drop FUNCTION POSITION 0
1427 AS BEGIN END
1428 ^
1429 CREATE TRIGGER "BEFORE CREATE TRIGGER"
1430 ACTIVE BEFORE CREATE TRIGGER POSITION 0
1431 AS BEGIN END
1432 ^
1433 CREATE TRIGGER "AFTER CREATE TRIGGER"
1434 ACTIVE AFTER CREATE TRIGGER POSITION 0
1435 AS BEGIN END
1436 ^
1437 CREATE TRIGGER "BEFORE ALTER TRIGGER"
1438 ACTIVE BEFORE ALTER TRIGGER POSITION 0
1439 AS BEGIN END
1440 ^
1441 CREATE TRIGGER "AFTER ALTER TRIGGER"
1442 ACTIVE AFTER ALTER TRIGGER POSITION 0
1443 AS BEGIN END
1444 ^
1445 CREATE TRIGGER "BEFORE DROP TRIGGER"
1446 ACTIVE BEFORE Drop TRIGGER POSITION 0
1447 AS BEGIN END
1448 ^
1449 CREATE TRIGGER "AFTER DROP TRIGGER"
1450 ACTIVE AFTER Drop TRIGGER POSITION 0
1451 AS BEGIN END
1452 ^
1453 CREATE TRIGGER "BEFORE CREATE EXCEPTION"
1454 ACTIVE BEFORE CREATE EXCEPTION POSITION 0
1455 AS BEGIN END
1456 ^
1457 CREATE TRIGGER "AFTER CREATE EXCEPTION"
1458 ACTIVE AFTER CREATE EXCEPTION POSITION 0
1459 AS BEGIN END
1460 ^
1461 CREATE TRIGGER "BEFORE ALTER EXCEPTION"
1462 ACTIVE BEFORE ALTER EXCEPTION POSITION 0
1463 AS BEGIN END
1464 ^
1465 CREATE TRIGGER "AFTER ALTER EXCEPTION"
1466 ACTIVE AFTER ALTER EXCEPTION POSITION 0
1467 AS BEGIN END
1468 ^
1469 CREATE TRIGGER "BEFORE DROP EXCEPTION"
1470 ACTIVE BEFORE Drop EXCEPTION POSITION 0
1471 AS BEGIN END
1472 ^
1473 CREATE TRIGGER "AFTER DROP EXCEPTION"
1474 ACTIVE AFTER Drop EXCEPTION POSITION 0
1475 AS BEGIN END
1476 ^
1477 CREATE TRIGGER "BEFORE CREATE VIEW"
1478 ACTIVE BEFORE CREATE VIEW POSITION 0
1479 AS BEGIN END
1480 ^
1481 CREATE TRIGGER "AFTER CREATE VIEW"
1482 ACTIVE AFTER CREATE VIEW POSITION 0
1483 AS BEGIN END
1484 ^
1485 CREATE TRIGGER "BEFORE ALTER VIEW"
1486 ACTIVE BEFORE ALTER VIEW POSITION 0
1487 AS BEGIN END
1488 ^
1489 CREATE TRIGGER "AFTER ALTER VIEW"
1490 ACTIVE AFTER ALTER VIEW POSITION 0
1491 AS BEGIN END
1492 ^
1493 CREATE TRIGGER "BEFORE DROP VIEW"
1494 ACTIVE BEFORE Drop VIEW POSITION 0
1495 AS BEGIN END
1496 ^
1497 CREATE TRIGGER "AFTER DROP VIEW"
1498 ACTIVE AFTER Drop VIEW POSITION 0
1499 AS BEGIN END
1500 ^
1501 CREATE TRIGGER "BEFORE CREATE DOMAIN"
1502 ACTIVE BEFORE CREATE DOMAIN POSITION 0
1503 AS BEGIN END
1504 ^
1505 CREATE TRIGGER "AFTER CREATE DOMAIN"
1506 ACTIVE AFTER CREATE DOMAIN POSITION 0
1507 AS BEGIN END
1508 ^
1509 CREATE TRIGGER "BEFORE ALTER DOMAIN"
1510 ACTIVE BEFORE ALTER DOMAIN POSITION 0
1511 AS BEGIN END
1512 ^
1513 CREATE TRIGGER "AFTER ALTER DOMAIN"
1514 ACTIVE AFTER ALTER DOMAIN POSITION 0
1515 AS BEGIN END
1516 ^
1517 CREATE TRIGGER "BEFORE DROP DOMAIN"
1518 ACTIVE BEFORE Drop DOMAIN POSITION 0
1519 AS BEGIN END
1520 ^
1521 CREATE TRIGGER "AFTER DROP DOMAIN"
1522 ACTIVE AFTER Drop DOMAIN POSITION 0
1523 AS BEGIN END
1524 ^
1525 CREATE TRIGGER "BEFORE CREATE ROLE"
1526 ACTIVE BEFORE CREATE ROLE POSITION 0
1527 AS BEGIN END
1528 ^
1529 CREATE TRIGGER "AFTER CREATE ROLE"
1530 ACTIVE AFTER CREATE ROLE POSITION 0
1531 AS BEGIN END
1532 ^
1533 CREATE TRIGGER "BEFORE ALTER ROLE"
1534 ACTIVE BEFORE ALTER ROLE POSITION 0
1535 AS BEGIN END
1536 ^
1537 CREATE TRIGGER "AFTER ALTER ROLE"
1538 ACTIVE AFTER ALTER ROLE POSITION 0
1539 AS BEGIN END
1540 ^
1541 CREATE TRIGGER "BEFORE DROP ROLE"
1542 ACTIVE BEFORE Drop ROLE POSITION 0
1543 AS BEGIN END
1544 ^
1545 CREATE TRIGGER "AFTER DROP ROLE"
1546 ACTIVE AFTER Drop ROLE POSITION 0
1547 AS BEGIN END
1548 ^
1549 CREATE TRIGGER "BEFORE CREATE INDEX"
1550 ACTIVE BEFORE CREATE INDEX POSITION 0
1551 AS BEGIN END
1552 ^
1553 CREATE TRIGGER "AFTER CREATE INDEX"
1554 ACTIVE AFTER CREATE INDEX POSITION 0
1555 AS BEGIN END
1556 ^
1557 CREATE TRIGGER "BEFORE ALTER INDEX"
1558 ACTIVE BEFORE ALTER INDEX POSITION 0
1559 AS BEGIN END
1560 ^
1561 CREATE TRIGGER "AFTER ALTER INDEX"
1562 ACTIVE AFTER ALTER INDEX POSITION 0
1563 AS BEGIN END
1564 ^
1565 CREATE TRIGGER "BEFORE DROP INDEX"
1566 ACTIVE BEFORE Drop INDEX POSITION 0
1567 AS BEGIN END
1568 ^
1569 CREATE TRIGGER "AFTER DROP INDEX"
1570 ACTIVE AFTER Drop INDEX POSITION 0
1571 AS BEGIN END
1572 ^
1573 CREATE TRIGGER "BEFORE CREATE SEQUENCE"
1574 ACTIVE BEFORE CREATE SEQUENCE POSITION 0
1575 AS BEGIN END
1576 ^
1577 CREATE TRIGGER "AFTER CREATE SEQUENCE"
1578 ACTIVE AFTER CREATE SEQUENCE POSITION 0
1579 AS BEGIN END
1580 ^
1581 CREATE TRIGGER "BEFORE ALTER SEQUENCE"
1582 ACTIVE BEFORE ALTER SEQUENCE POSITION 0
1583 AS BEGIN END
1584 ^
1585 CREATE TRIGGER "AFTER ALTER SEQUENCE"
1586 ACTIVE AFTER ALTER SEQUENCE POSITION 0
1587 AS BEGIN END
1588 ^
1589 CREATE TRIGGER "BEFORE DROP SEQUENCE"
1590 ACTIVE BEFORE Drop SEQUENCE POSITION 0
1591 AS BEGIN END
1592 ^
1593 CREATE TRIGGER "AFTER DROP SEQUENCE"
1594 ACTIVE AFTER Drop SEQUENCE POSITION 0
1595 AS BEGIN END
1596 ^
1597 CREATE TRIGGER "BEFORE CREATE USER"
1598 ACTIVE BEFORE CREATE USER POSITION 0
1599 AS BEGIN END
1600 ^
1601 CREATE TRIGGER "AFTER CREATE USER"
1602 ACTIVE AFTER CREATE USER POSITION 0
1603 AS BEGIN END
1604 ^
1605 CREATE TRIGGER "BEFORE ALTER USER"
1606 ACTIVE BEFORE ALTER USER POSITION 0
1607 AS BEGIN END
1608 ^
1609 CREATE TRIGGER "AFTER ALTER USER"
1610 ACTIVE AFTER ALTER USER POSITION 0
1611 AS BEGIN END
1612 ^
1613 CREATE TRIGGER "BEFORE DROP USER"
1614 ACTIVE BEFORE Drop USER POSITION 0
1615 AS BEGIN END
1616 ^
1617 CREATE TRIGGER "AFTER DROP USER"
1618 ACTIVE AFTER Drop USER POSITION 0
1619 AS BEGIN END
1620 ^
1621 CREATE TRIGGER "BEFORE CREATE COLLATION"
1622 ACTIVE BEFORE CREATE COLLATION POSITION 0
1623 AS BEGIN END
1624 ^
1625 CREATE TRIGGER "AFTER CREATE COLLATION"
1626 ACTIVE AFTER CREATE COLLATION POSITION 0
1627 AS BEGIN END
1628 ^
1629 CREATE TRIGGER "BEFORE DROP COLLATION"
1630 ACTIVE BEFORE Drop COLLATION POSITION 0
1631 AS BEGIN END
1632 ^
1633 CREATE TRIGGER "AFTER DROP COLLATION"
1634 ACTIVE AFTER Drop COLLATION POSITION 0
1635 AS BEGIN END
1636 ^
1637 CREATE TRIGGER "BEFORE ALTER CHARACTER SET"
1638 ACTIVE BEFORE ALTER CHARACTER SET POSITION 0
1639 AS BEGIN END
1640 ^
1641 CREATE TRIGGER "AFTER ALTER CHARACTER SET"
1642 ACTIVE AFTER ALTER CHARACTER SET POSITION 0
1643 AS BEGIN END
1644 ^
1645 CREATE TRIGGER "BEFORE CREATE PACKAGE"
1646 ACTIVE BEFORE CREATE PACKAGE POSITION 0
1647 AS BEGIN END
1648 ^
1649 CREATE TRIGGER "AFTER CREATE PACKAGE"
1650 ACTIVE AFTER CREATE PACKAGE POSITION 0
1651 AS BEGIN END
1652 ^
1653 CREATE TRIGGER "BEFORE ALTER PACKAGE"
1654 ACTIVE BEFORE ALTER PACKAGE POSITION 0
1655 AS BEGIN END
1656 ^
1657 CREATE TRIGGER "AFTER ALTER PACKAGE"
1658 ACTIVE AFTER ALTER PACKAGE POSITION 0
1659 AS BEGIN END
1660 ^
1661 CREATE TRIGGER "BEFORE DROP PACKAGE"
1662 ACTIVE BEFORE Drop PACKAGE POSITION 0
1663 AS BEGIN END
1664 ^
1665 CREATE TRIGGER "AFTER DROP PACKAGE"
1666 ACTIVE AFTER Drop PACKAGE POSITION 0
1667 AS BEGIN END
1668 ^
1669 CREATE TRIGGER "BEFORE CREATE PACKAGE BODY"
1670 ACTIVE BEFORE CREATE PACKAGE BODY POSITION 0
1671 AS BEGIN END
1672 ^
1673 CREATE TRIGGER "AFTER CREATE PACKAGE BODY"
1674 ACTIVE AFTER CREATE PACKAGE BODY POSITION 0
1675 AS BEGIN END
1676 ^
1677 CREATE TRIGGER "BEFORE DROP PACKAGE BODY"
1678 ACTIVE BEFORE Drop PACKAGE BODY POSITION 0
1679 AS BEGIN END
1680 ^
1681 CREATE TRIGGER "AFTER DROP PACKAGE BODY"
1682 ACTIVE AFTER Drop PACKAGE BODY POSITION 0
1683 AS BEGIN END
1684 ^
1685 CREATE TRIGGER "BEFORE ANY DDL STATEMENT"
1686 ACTIVE BEFORE ANY DDL STATEMENT POSITION 0
1687 AS BEGIN END
1688 ^
1689 CREATE TRIGGER "AFTER ANY DDL STATEMENT"
1690 ACTIVE AFTER ANY DDL STATEMENT POSITION 0
1691 AS BEGIN END
1692 ^
1693 CREATE TRIGGER SET_CUST_NO FOR CUSTOMER
1694 ACTIVE BEFORE INSERT POSITION 0
1695 AS
1696 BEGIN
1697 if (new.cust_no is null) then
1698 new.cust_no = gen_id(cust_no_gen, 1);
1699 END
1700 ^
1701 CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE
1702 ACTIVE BEFORE INSERT POSITION 0
1703 AS
1704 BEGIN
1705 if (new.emp_no is null) then
1706 new.emp_no = gen_id(emp_no_gen, 1);
1707 END
1708 ^
1709 CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE
1710 ACTIVE AFTER UPDATE POSITION 0
1711 AS
1712 BEGIN
1713 IF (old.salary <> new.salary) THEN
1714 INSERT INTO salary_history
1715 (emp_no, change_date, updater_id, old_salary, percent_change)
1716 VALUES (
1717 old.emp_no,
1718 'NOW',
1719 user,
1720 old.salary,
1721 (new.salary - old.salary) * 100 / old.salary);
1722 END
1723 ^
1724 CREATE TRIGGER POST_NEW_ORDER FOR SALES
1725 ACTIVE AFTER INSERT POSITION 0
1726 AS
1727 BEGIN
1728 POST_EVENT 'new_order';
1729 END
1730 ^
1731 COMMIT WORK^
1732 SET TERM ;^
1733 COMMIT WORK;
1734 SET AUTODDL OFF;
1735 SET TERM ^ ;
1736
1737 /* Package Definitions */
1738
1739 CREATE PACKAGE BODY FB$OUT
1740 AS
1741
1742 begin
1743 procedure enable
1744 as
1745 begin
1746 rdb$set_context('USER_SESSION', 'fb$out.enabled', '1');
1747 end
1748
1749 procedure disable
1750 as
1751 begin
1752 rdb$set_context('USER_SESSION', 'fb$out.enabled', null);
1753 end
1754
1755 procedure put_line (line fb$out_type)
1756 as
1757 begin
1758 if (rdb$get_context('USER_SESSION', 'fb$out.enabled') = '1') then
1759 begin
1760 in autonomous transaction do
1761 begin
1762 insert into fb$out_table (line_num, content)
1763 values (next value for fb$out_seq, :line);
1764 end
1765 end
1766 end
1767
1768 procedure clear
1769 as
1770 begin
1771 in autonomous transaction do
1772 delete from fb$out_table;
1773 end
1774
1775 procedure get_lines returns (lines fb$out_type)
1776 as
1777 declare line fb$out_type;
1778 begin
1779 lines = '';
1780
1781 in autonomous transaction do
1782 begin
1783 for select content from fb$out_table order by line_num into line
1784 do
1785 begin
1786 if (octet_length(lines) > 0) then
1787 lines = lines || ascii_char(13) || ascii_char(10);
1788
1789 lines = lines || :line;
1790 end
1791 end
1792
1793 execute procedure clear;
1794 end
1795 end
1796 ^
1797
1798 CREATE PACKAGE BODY SELECT$TEST
1799 AS
1800
1801 Begin
1802 Procedure ShowItems(IPARAM Integer) RETURNS (OutParam integer)
1803 As
1804 Begin
1805 SUSPEND;
1806 End
1807 End
1808 ^
1809
1810 SET TERM ;^
1811 COMMIT WORK;
1812 SET AUTODDL ON;
1813 COMMIT WORK;
1814 SET AUTODDL OFF;
1815 SET TERM ^ ;
1816
1817 /* Stored procedure Bodies */
1818
1819
1820 ALTER PROCEDURE SHOW_LANGS
1821 (
1822 CODE VARCHAR(5) CHARACTER SET NONE,
1823 GRADE SMALLINT,
1824 CTY VARCHAR(15) CHARACTER SET NONE
1825 )
1826 RETURNS
1827 (
1828 LANGUAGES VARCHAR(15) CHARACTER SET NONE
1829 )
1830 AS
1831 DECLARE VARIABLE i INTEGER;
1832 BEGIN
1833 i = 1;
1834 WHILE (i <= 5) DO
1835 BEGIN
1836 SELECT language_req[:i] FROM joB
1837 WHERE ((job_code = :code) AND (job_grade = :grade) AND (job_country = :cty)
1838 AND (language_req IS NOT NULL))
1839 INTO :languages;
1840 IF (languages = ' ') THEN /* Prints 'NULL' instead of blanks */
1841 languages = 'NULL';
1842 i = i +1;
1843 SUSPEND;
1844 END
1845 END
1846 ^
1847
1848
1849 ALTER PROCEDURE ADD_EMP_PROJ
1850 (
1851 EMP_NO SMALLINT,
1852 PROJ_ID CHAR(5) CHARACTER SET NONE
1853 )
1854 AS
1855 BEGIN
1856 BEGIN
1857 INSERT INTO employee_project (emp_no, proj_id) VALUES (:emp_no, :proj_id);
1858 WHEN SQLCODE -530 DO
1859 EXCEPTION unknown_emp_id;
1860 END
1861 END
1862 ^
1863
1864 ALTER PROCEDURE ALL_LANGS
1865 RETURNS
1866 (
1867 CODE VARCHAR(5) CHARACTER SET NONE,
1868 GRADE VARCHAR(5) CHARACTER SET NONE,
1869 COUNTRY VARCHAR(15) CHARACTER SET NONE,
1870 LANG VARCHAR(15) CHARACTER SET NONE
1871 )
1872 AS
1873 BEGIN
1874 FOR SELECT job_code, job_grade, job_country FROM job
1875 INTO :code, :grade, :country
1876
1877 DO
1878 BEGIN
1879 FOR SELECT languages FROM show_langs
1880 (:code, :grade, :country) INTO :lang DO
1881 SUSPEND;
1882 /* Put nice separators between rows */
1883 code = '=====';
1884 grade = '=====';
1885 country = '===============';
1886 lang = '==============';
1887 SUSPEND;
1888 END
1889 END
1890 ^
1891
1892
1893 ALTER PROCEDURE DELETE_EMPLOYEE
1894 (
1895 EMP_NUM INTEGER
1896 )
1897 AS
1898 DECLARE VARIABLE any_sales INTEGER;
1899 BEGIN
1900 any_sales = 0;
1901
1902 /*
1903 * If there are any sales records referencing this employee,
1904 * cannot delete the employee until the sales are re-assigned
1905 * to another employee or changed to NULL.
1906 */
1907 SELECT count(po_number)
1908 FROM sales
1909 WHERE sales_rep = :emp_num
1910 INTO :any_sales;
1911
1912 IF (any_sales > 0) THEN
1913 BEGIN
1914 EXCEPTION reassign_sales;
1915 END
1916
1917 /*
1918 * If the employee is a manager, update the department.
1919 */
1920 UPDATE department
1921 SET mngr_no = NULL
1922 WHERE mngr_no = :emp_num;
1923
1924 /*
1925 * If the employee is a project leader, update project.
1926 */
1927 UPDATE project
1928 SET team_leader = NULL
1929 WHERE team_leader = :emp_num;
1930
1931 /*
1932 * Delete the employee from any projects.
1933 */
1934 DELETE FROM employee_project
1935 WHERE emp_no = :emp_num;
1936
1937 /*
1938 * Delete old salary records.
1939 */
1940 DELETE FROM salary_history
1941 WHERE emp_no = :emp_num;
1942
1943 /*
1944 * Delete the employee.
1945 */
1946 DELETE FROM employee
1947 WHERE emp_no = :emp_num;
1948
1949 END
1950 ^
1951
1952
1953 ALTER PROCEDURE DEPT_BUDGET
1954 (
1955 DNO CHAR(3) CHARACTER SET NONE
1956 )
1957 RETURNS
1958 (
1959 TOT DECIMAL(12, 2)
1960 )
1961 AS
1962 DECLARE VARIABLE sumb DECIMAL(12, 2);
1963 DECLARE VARIABLE rdno CHAR(3);
1964 DECLARE VARIABLE cnt INTEGER;
1965 BEGIN
1966 tot = 0;
1967
1968 SELECT budget FROM department WHERE dept_no = :dno INTO :tot;
1969
1970 SELECT count(budget) FROM department WHERE head_dept = :dno INTO :cnt;
1971
1972 IF (cnt = 0) THEN
1973 SUSPEND;
1974
1975 FOR SELECT dept_no
1976 FROM department
1977 WHERE head_dept = :dno
1978 INTO :rdno
1979 DO
1980 BEGIN
1981 EXECUTE PROCEDURE dept_budget :rdno RETURNING_VALUES :sumb;
1982 tot = tot + sumb;
1983 END
1984
1985 SUSPEND;
1986 END
1987 ^
1988
1989 ALTER PROCEDURE EMPLOYEE_PAY_STATUS
1990 (
1991 EMP_NUM SMALLINT
1992 )
1993 RETURNS
1994 (
1995 PAY_STATUS VARCHAR(6) CHARACTER SET NONE,
1996 SALARY NUMERIC(10,2)
1997 )
1998 AS
1999 BEGIN
2000 Select SALARY, Case
2001 When SALARY > 10000 and SALARY <= 100000 then 'higher'
2002 When SALARY > 100000 then 'gross'
2003 else 'lower' End
2004 From employee
2005 WHERE emp_no = :EMP_NUM
2006 into :SALARY, :PAY_STATUS;
2007 END
2008 ^
2009
2010 ALTER PROCEDURE GET_EMP_PROJ
2011 (
2012 EMP_NO SMALLINT
2013 )
2014 RETURNS
2015 (
2016 PROJ_ID CHAR(5) CHARACTER SET NONE
2017 )
2018 AS
2019 BEGIN
2020 FOR SELECT proj_id
2021 FROM employee_project
2022 WHERE emp_no = :emp_no
2023 INTO :proj_id
2024 DO
2025 SUSPEND;
2026 END
2027 ^
2028
2029
2030 ALTER PROCEDURE "Has Space"
2031 (
2032 ARG1 INTEGER
2033 )
2034 AS
2035 Begin End
2036 ^
2037
2038
2039 ALTER PROCEDURE MAIL_LABEL
2040 (
2041 CUST_NO INTEGER
2042 )
2043 RETURNS
2044 (
2045 LINE1 CHAR(40) CHARACTER SET NONE,
2046 LINE2 CHAR(40) CHARACTER SET NONE,
2047 LINE3 CHAR(40) CHARACTER SET NONE,
2048 LINE4 CHAR(40) CHARACTER SET NONE,
2049 LINE5 CHAR(40) CHARACTER SET NONE,
2050 LINE6 CHAR(40) CHARACTER SET NONE
2051 )
2052 AS
2053 DECLARE VARIABLE customer VARCHAR(25);
2054 DECLARE VARIABLE first_name VARCHAR(15);
2055 DECLARE VARIABLE last_name VARCHAR(20);
2056 DECLARE VARIABLE addr1 VARCHAR(30);
2057 DECLARE VARIABLE addr2 VARCHAR(30);
2058 DECLARE VARIABLE city VARCHAR(25);
2059 DECLARE VARIABLE state VARCHAR(15);
2060 DECLARE VARIABLE country VARCHAR(15);
2061 DECLARE VARIABLE postcode VARCHAR(12);
2062 DECLARE VARIABLE cnt INTEGER;
2063 BEGIN
2064 line1 = '';
2065 line2 = '';
2066 line3 = '';
2067 line4 = '';
2068 line5 = '';
2069 line6 = '';
2070
2071 SELECT customer, contact_first, contact_last, address_line1,
2072 address_line2, city, state_province, country, postal_code
2073 FROM CUSTOMER
2074 WHERE cust_no = :cust_no
2075 INTO :customer, :first_name, :last_name, :addr1, :addr2,
2076 :city, :state, :country, :postcode;
2077
2078 IF (customer IS NOT NULL) THEN
2079 line1 = customer;
2080 IF (first_name IS NOT NULL) THEN
2081 line2 = first_name || ' ' || last_name;
2082 ELSE
2083 line2 = last_name;
2084 IF (addr1 IS NOT NULL) THEN
2085 line3 = addr1;
2086 IF (addr2 IS NOT NULL) THEN
2087 line4 = addr2;
2088
2089 IF (country = 'USA') THEN
2090 BEGIN
2091 IF (city IS NOT NULL) THEN
2092 line5 = city || ', ' || state || ' ' || postcode;
2093 ELSE
2094 line5 = state || ' ' || postcode;
2095 END
2096 ELSE
2097 BEGIN
2098 IF (city IS NOT NULL) THEN
2099 line5 = city || ', ' || state;
2100 ELSE
2101 line5 = state;
2102 line6 = country || ' ' || postcode;
2103 END
2104
2105 SUSPEND;
2106 END
2107 ^
2108
2109
2110 ALTER PROCEDURE ORG_CHART
2111 RETURNS
2112 (
2113 HEAD_DEPT CHAR(25) CHARACTER SET NONE,
2114 DEPARTMENT CHAR(25) CHARACTER SET NONE,
2115 MNGR_NAME CHAR(20) CHARACTER SET NONE,
2116 TITLE CHAR(5) CHARACTER SET NONE,
2117 EMP_CNT INTEGER
2118 )
2119 AS
2120 DECLARE VARIABLE mngr_no INTEGER;
2121 DECLARE VARIABLE dno CHAR(3);
2122 BEGIN
2123 FOR SELECT h.department, d.department, d.mngr_no, d.dept_no
2124 FROM department d
2125 LEFT OUTER JOIN department h ON d.head_dept = h.dept_no
2126 ORDER BY d.dept_no
2127 INTO :head_dept, :department, :mngr_no, :dno
2128 DO
2129 BEGIN
2130 IF (:mngr_no IS NULL) THEN
2131 BEGIN
2132 mngr_name = '--TBH--';
2133 title = '';
2134 END
2135
2136 ELSE
2137 SELECT full_name, job_code
2138 FROM employee
2139 WHERE emp_no = :mngr_no
2140 INTO :mngr_name, :title;
2141
2142 SELECT COUNT(emp_no)
2143 FROM employee
2144 WHERE dept_no = :dno
2145 INTO :emp_cnt;
2146
2147 SUSPEND;
2148 END
2149 END
2150 ^
2151
2152
2153 ALTER PROCEDURE SHIP_ORDER
2154 (
2155 PO_NUM CHAR(8) CHARACTER SET NONE
2156 )
2157 AS
2158 DECLARE VARIABLE ord_stat CHAR(7);
2159 DECLARE VARIABLE hold_stat CHAR(1);
2160 DECLARE VARIABLE cust_no INTEGER;
2161 DECLARE VARIABLE any_po CHAR(8);
2162 BEGIN
2163 SELECT s.order_status, c.on_hold, c.cust_no
2164 FROM sales s, customer c
2165 WHERE po_number = :po_num
2166 AND s.cust_no = c.cust_no
2167 INTO :ord_stat, :hold_stat, :cust_no;
2168
2169 /* This purchase order has been already shipped. */
2170 IF (ord_stat = 'shipped') THEN
2171 BEGIN
2172 EXCEPTION order_already_shipped;
2173 END
2174
2175 /* Customer is on hold. */
2176 ELSE IF (hold_stat = '*') THEN
2177 BEGIN
2178 EXCEPTION customer_on_hold;
2179 END
2180
2181 /*
2182 * If there is an unpaid balance on orders shipped over 2 months ago,
2183 * put the customer on hold.
2184 */
2185 FOR SELECT po_number
2186 FROM sales
2187 WHERE cust_no = :cust_no
2188 AND order_status = 'shipped'
2189 AND paid = 'n'
2190 AND ship_date < CAST('NOW' AS TIMESTAMP) - 60
2191 INTO :any_po
2192 DO
2193 BEGIN
2194 EXCEPTION customer_check;
2195
2196 UPDATE customer
2197 SET on_hold = '*'
2198 WHERE cust_no = :cust_no;
2199
2200 END
2201
2202 /*
2203 * Ship the order.
2204 */
2205 UPDATE sales
2206 SET order_status = 'shipped', ship_date = 'NOW'
2207 WHERE po_number = :po_num;
2208
2209 END
2210 ^
2211
2212
2213 ALTER PROCEDURE SUB_TOT_BUDGET
2214 (
2215 HEAD_DEPT CHAR(3) CHARACTER SET NONE
2216 )
2217 RETURNS
2218 (
2219 TOT_BUDGET DECIMAL(12, 2),
2220 AVG_BUDGET DECIMAL(12, 2),
2221 MIN_BUDGET DECIMAL(12, 2),
2222 MAX_BUDGET DECIMAL(12, 2)
2223 )
2224 AS
2225 BEGIN
2226 SELECT SUM(budget), AVG(budget), MIN(budget), MAX(budget)
2227 FROM department
2228 WHERE head_dept = :head_dept
2229 INTO :tot_budget, :avg_budget, :min_budget, :max_budget;
2230 SUSPEND;
2231 END
2232 ^
2233
2234
2235 ALTER PROCEDURE "UC SPACE"
2236 (
2237 ARG1 INTEGER
2238 )
2239 AS
2240 Begin End
2241 ^
2242
2243
2244 ALTER PROCEDURE "iCASE"
2245 AS
2246 Begin End
2247 ^
2248
2249 SET TERM ;^
2250 COMMIT WORK;
2251 SET AUTODDL ON;
2252 COMMIT WORK;
2253 SET AUTODDL OFF;
2254 SET TERM ^ ;
2255
2256 /* Stored Function Body */
2257
2258 ALTER FUNCTION F (X INTEGER)
2259 RETURNS INTEGER
2260 AS
2261 BEGIN
2262 RETURN X+1;
2263 END
2264 ^
2265
2266
2267 SET TERM ;^
2268 COMMIT WORK;
2269 SET AUTODDL ON;
2270
2271 /* Comments on System Objects */
2272
2273 COMMENT ON CHARACTER SET UTF8 IS 'Default Character set';
2274
2275 /* Grant Roles for this database */
2276
2277
2278 /* Role: TESTROLE, Owner: SYSDBA */
2279
2280 CREATE ROLE TESTROLE SET SYSTEM PRIVILEGES TO CREATE_DATABASE;
2281
2282 /* Grant permissions for this database */
2283
2284 GRANT REFERENCES ON TABLE COUNTRIES TO USER BOB ;
2285 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE COUNTRY TO USER PUBLIC WITH GRANT OPTION ;
2286 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE CUSTOMER TO USER PUBLIC WITH GRANT OPTION ;
2287 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE DEPARTMENT TO USER PUBLIC WITH GRANT OPTION ;
2288 GRANT SELECT ON TABLE EMPLOYEE TO USER ALICE WITH GRANT OPTION GRANTED BY BOB ;
2289 GRANT SELECT,Update(FIRST_NAME,LAST_NAME) ON TABLE EMPLOYEE TO USER BOB ;
2290 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE EMPLOYEE TO USER PUBLIC WITH GRANT OPTION ;
2291 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE EMPLOYEE_PROJECT TO USER PUBLIC WITH GRANT OPTION ;
2292 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE FB$OUT_TABLE TO PACKAGE FB$OUT ;
2293 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE JOB TO USER PUBLIC WITH GRANT OPTION ;
2294 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE PHONE_LIST TO USER PUBLIC WITH GRANT OPTION ;
2295 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE PROJECT TO USER PUBLIC WITH GRANT OPTION ;
2296 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE PROJ_DEPT_BUDGET TO USER PUBLIC WITH GRANT OPTION ;
2297 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE SALARY_HISTORY TO USER PUBLIC WITH GRANT OPTION ;
2298 GRANT DELETE,INSERT,REFERENCES,SELECT,UPDATE ON TABLE SALES TO USER PUBLIC WITH GRANT OPTION ;
2299 GRANT RDB$ADMIN TO ALICE;
2300
2301 GRANT RDB$ADMIN TO BOB;
2302
2303 GRANT EXECUTE ON PROCEDURE ADD_EMP_PROJ TO USER PUBLIC WITH GRANT OPTION ;
2304 GRANT EXECUTE ON PROCEDURE ALL_LANGS TO USER PUBLIC WITH GRANT OPTION ;
2305 GRANT EXECUTE ON PROCEDURE DELETE_EMPLOYEE TO USER PUBLIC WITH GRANT OPTION ;
2306 GRANT EXECUTE ON PROCEDURE DEPT_BUDGET TO USER PUBLIC WITH GRANT OPTION ;
2307 GRANT EXECUTE ON PROCEDURE GET_EMP_PROJ TO USER PUBLIC WITH GRANT OPTION ;
2308 GRANT EXECUTE ON PROCEDURE MAIL_LABEL TO USER PUBLIC WITH GRANT OPTION ;
2309 GRANT EXECUTE ON PROCEDURE ORG_CHART TO USER PUBLIC WITH GRANT OPTION ;
2310 GRANT EXECUTE ON PROCEDURE SHIP_ORDER TO USER PUBLIC WITH GRANT OPTION ;
2311 GRANT EXECUTE ON PROCEDURE SHOW_LANGS TO USER PUBLIC WITH GRANT OPTION ;
2312 GRANT EXECUTE ON PROCEDURE SUB_TOT_BUDGET TO USER PUBLIC WITH GRANT OPTION ;
2313 GRANT EXECUTE ON PACKAGE FB$OUT TO USER PUBLIC ;
2314 GRANT CREATE TABLE TO USER BOB ;
2315 GRANT CREATE COLLATION TO USER BOB ;
2316 GRANT CREATE CHARACTER SET TO USER ALICE ;
2317 GRANT CREATE COLLATION TO USER ALICE ;
2318 GRANT CREATE DOMAIN TO USER ALICE ;
2319 GRANT CREATE EXCEPTION TO USER ALICE ;
2320 GRANT CREATE FILTER TO USER ALICE ;
2321 GRANT CREATE FUNCTION TO USER ALICE ;
2322 GRANT CREATE GENERATOR TO USER ALICE ;
2323 GRANT CREATE PACKAGE TO USER ALICE ;
2324 GRANT CREATE PROCEDURE TO USER ALICE ;
2325 GRANT CREATE ROLE TO USER ALICE ;
2326 GRANT CREATE TABLE TO USER ALICE ;
2327 GRANT CREATE VIEW TO USER ALICE ;
2328 GRANT DROP ANY TABLE TO USER ALICE ;
2329 GRANT ALTER ANY VIEW TO USER ALICE ;
2330 GRANT DROP ANY GENERATOR TO USER ALICE ;