molo4evan

Untitled

Oct 10th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.83 KB | None | 0 0
  1. CREATE TABLE persons(
  2.     id NUMBER(10),
  3.     lastname VARCHAR2(30),
  4.     firstname VARCHAR2(30)
  5. );
  6.  
  7. ALTER TABLE persons
  8.     ADD (age NUMBER(3) CHECK (age >= 18),
  9.          PRIMARY KEY(id),
  10.          UNIQUE(firstname, lastname));
  11.  
  12. CREATE TABLE jobs(
  13.     id NUMBER(10),
  14.     name VARCHAR(50)
  15. );
  16.  
  17. ALTER TABLE jobs
  18.     ADD (salary NUMBER(8),
  19.          PRIMARY KEY(id));
  20.  
  21. CREATE TABLE employees(
  22.     id NUMBER(10),
  23.     person_id NUMBER(10),
  24.     job_id NUMBER(10)
  25. );
  26.  
  27. ALTER TABLE employees
  28.     ADD (employment_date DATE,
  29.          PRIMARY KEY(id),
  30.          CONSTRAINT person_key FOREIGN KEY (person_id) REFERENCES persons(id),
  31.          CONSTRAINT job_key FOREIGN KEY (job_id) REFERENCES jobs(id));
  32.  
  33. INSERT INTO persons VALUES(1, 'Ivanov', 'Ivan', 25);
  34. INSERT INTO persons VALUES(2, 'Petrov', 'Petr', 20);
  35. INSERT INTO persons VALUES(3, 'Alexeev', 'Alexry', 38);
  36.  
  37. INSERT INTO jobs VALUES(1, 'Cleaner', 10000);
  38. INSERT INTO jobs VALUES(2, 'Sailor', 150000);
  39. INSERT INTO jobs VALUES(3, 'Main Architector', 400000);
  40.  
  41. INSERT INTO employees VALUES(1, 1, 2, TO_DATE('2014/07/22', 'yyyy/mm/dd'));
  42. INSERT INTO employees VALUES(2, 3, 1, TO_DATE('1998/10/05', 'yyyy/mm/dd'));
  43. INSERT INTO employees VALUES(3, 2, 3, TO_DATE('0001/01/01', 'yyyy/mm/dd'));
  44.  
  45. UPDATE persons
  46.     SET age = 99
  47.     WHERE id = 1;
  48.  
  49. ALTER TABLE employees
  50.     ADD (salary NUMBER(20),
  51.          premium_size NUMBER(20));
  52.  
  53. UPDATE employees
  54.     SET salary = 10000;
  55.  
  56. UPDATE employees
  57.     SET premium_size = 2000;
  58.  
  59. UPDATE employees
  60.     SET salary = salary * 1.1
  61.     WHERE id = 2;
  62.  
  63. UPDATE employees
  64.     SET premium_size = premium_size * 1.3
  65.     WHERE id = 2;
  66.  
  67. DELETE FROM employees WHERE id = 3;
  68.  
  69. ALTER TABLE employees
  70.     DROP CONSTRAINT job_key;
  71.  
  72. DESC persons;
  73. DESC jobs;
  74. DESC employees;
  75.  
  76. SELECT * FROM persons;
  77. SELECT * FROM jobs;
  78. SELECT * FROM employees;
Add Comment
Please, Sign In to add comment