|
| 1 | +/* |
| 2 | +Source link: https://github.com/ktaranov/sqlserver-kit/blob/master/Sample_Databases/Oracle_Employee_Database.sql |
| 3 | +Changed data type to more unviversal: varchar2 -> varchar, number -> int |
| 4 | +Tested on SQL Server 2019 and Postgres 12.2 |
| 5 | +Original link: https://livesql.oracle.com/apex/livesql/file/content_O5AEB2HE08PYEPTGCFLZU9YCV.html |
| 6 | +Code style for PostgresSQL - python like. |
| 7 | +*/ |
| 8 | + |
| 9 | +DROP TABLE employee; |
| 10 | +DROP TABLE department; |
| 11 | + |
| 12 | +CREATE TABLE department ( |
| 13 | + id int NOT NULL |
| 14 | + , name varchar(100) NOT NULL |
| 15 | + , CONSTRAINT pk_department PRIMARY KEY (id) |
| 16 | +); |
| 17 | + |
| 18 | +CREATE TABLE employee ( |
| 19 | + id int NOT NULL |
| 20 | + , department_id INT NOT NULL |
| 21 | + , chief_id int NULL |
| 22 | + , name varchar(100) NOT NULL |
| 23 | + , salary DECIMAL(19,2) NOT NULL |
| 24 | + , CONSTRAINT pk_employee PRIMARY KEY (id) |
| 25 | +); |
| 26 | + |
| 27 | +ALTER TABLE employee ADD CONSTRAINT fk_employee__department_id FOREIGN KEY (department_id) REFERENCES department(id); |
| 28 | +ALTER TABLE employee ADD CONSTRAINT fk_employee__cheief_id FOREIGN KEY (chief_id) REFERENCES employee(id); |
| 29 | + |
| 30 | +INSERT INTO department (id, name) VALUES(10, 'ACCOUNTING'); |
| 31 | +INSERT INTO department (id, name) VALUES(20, 'RESEARCH'); |
| 32 | +INSERT INTO department (id, name) VALUES(30, 'SALES'); |
| 33 | +INSERT INTO department (id, name) VALUES(40, 'OPERATIONS'); |
| 34 | + |
| 35 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 36 | +VALUES(7839, 'KING', null, 5000, 10); |
| 37 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 38 | +VALUES(7698, 'BLAKE', 7839, 2850, 30); |
| 39 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 40 | +VALUES(7782, 'CLARK', 7839, 2450, 10); |
| 41 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 42 | +VALUES(7566, 'JONES',7839, 2975, 20); |
| 43 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 44 | +VALUES(7788, 'SCOTT', 7566, 3000, 20); |
| 45 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 46 | +VALUES(7902, 'FORD', 7566, 3000, 20); |
| 47 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 48 | +VALUES(7369, 'SMITH', 7902, 800, 20); |
| 49 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 50 | +VALUES(7499, 'ALLEN', 7698, 1600, 30); |
| 51 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 52 | +VALUES(7521, 'WARD', 7698, 1250, 30); |
| 53 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 54 | +VALUES(7654, 'MARTIN', 7698, 1250, 30); |
| 55 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 56 | +VALUES(7844, 'TURNER', 7698, 1500, 30); |
| 57 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 58 | +VALUES(7876, 'ADAMS', 7788, 1100, 20); |
| 59 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 60 | +VALUES(7900, 'JAMES', 7698, 950, 30 ); |
| 61 | +INSERT INTO employee(id, name, chief_id, salary, department_id) |
| 62 | +VALUES(7934, 'MILLER', 7782, 1300, 10); |
0 commit comments