Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.88 KB | None | 0 0
  1. CREATE TABLE client (
  2.   client_id     NUMBER(10)      NOT NULL,
  3.   first_name    VARCHAR2(32)    NOT NULL,
  4.   last_name     VARCHAR2(32)    NOT NULL
  5. );
  6.  
  7. ALTER TABLE client ADD (CONSTRAINT client_pk PRIMARY KEY (ID));
  8. CREATE SEQUENCE client_id_seq START WITH 1;
  9. CREATE OR REPLACE TRIGGER departments_id_trigger BEFORE INSERT ON client
  10. FOR EACH ROW
  11. BEGIN
  12.   SELECT client_id_seq.NEXTVAL INTO :NEW.id FROM   dual;
  13. END;
  14. /
  15. CREATE TABLE employee (
  16.   employee_id   NUMBER(10)      NOT NULL,
  17.   first_name    VARCHAR2(32)    NOT NULL,
  18.   last_name     VARCHAR2(32)    NOT NULL,
  19.   role          VARCHAR2(32)    NOT NULL
  20. );
  21.  
  22. ALTER TABLE employee ADD (CONSTRAINT employee_pk PRIMARY KEY (ID));
  23. CREATE SEQUENCE employee_id_seq START WITH 1;
  24. CREATE OR REPLACE TRIGGER departments_id_trigger BEFORE INSERT ON employee
  25. FOR EACH ROW
  26. BEGIN
  27.   SELECT employee_id_seq.NEXTVAL INTO :NEW.id FROM  dual;
  28. END;
  29. /
  30.  
  31. CREATE TALBE room (
  32.   room_id       NUMBER(10)      NOT NULL,
  33.   category_id   NUMBER(10)      NOT NULL,
  34.   no            NUMBER(10)      NOT NULL,
  35. );
  36.  
  37. ALTER TABLE room ADD (CONSTRAINT room_pk PRIMARY KEY (ID));
  38. CREATE SEQUENCE room_id_seq START WITH 1;
  39. CREATE OR REPLACE TRIGGER room_id_trigger BEFORE INSERT ON room
  40. FOR EACH ROW
  41. BEGIN
  42.   SELECT room_id_seq.NEXTVAL INTO :NEW.id FROM   dual;
  43. END;
  44. /
  45.  
  46. CREATE TABLE category (
  47.   category_id   NUMBER(10)      NOT NULL,
  48.   name          VARCHAR2(32)    NOT NULL,
  49.   price         NUMBER(8,2)     NOT NULL
  50. );
  51.  
  52. ALTER TABLE category ADD (CONSTRAINT category_pk PRIMARY KEY (ID));
  53. CREATE SEQUENCE category_id_seq START WITH 1;
  54. CREATE OR REPLACE TRIGGER category_id_trigger BEFORE INSERT ON category
  55. FOR EACH ROW
  56. BEGIN
  57.   SELECT category_id_seq.NEXTVAL INTO :NEW.id FROM   dual;
  58. END;
  59. /
  60.  
  61. CREATE TABLE reservation (
  62.   reservation_id   NUMBER(10)      NOT NULL,
  63.   category_id      NUMBER(10)      NOT NULL,
  64.   room_id          NUMBER(10)      NOT NULL,
  65.   name             VARCHAR2(32)    NOT NULL,
  66.   start_date       DATE            NOT NULL,
  67.   end_date         DATE            NOT NULL,
  68.   status           VARCHAR2(32)    
  69. );
  70.  
  71. ALTER TABLE reservation ADD (CONSTRAINT reservation_pk PRIMARY KEY (ID));
  72. CREATE SEQUENCE reservation_id_seq START WITH 1;
  73. CREATE OR REPLACE TRIGGER reservation_id_trigger BEFORE INSERT ON reservation
  74. FOR EACH ROW
  75. BEGIN
  76.   SELECT reservation_id_seq.NEXTVAL INTO :NEW.id FROM   dual;
  77. END;
  78. /
  79.  
  80.  
  81. CREATE OR REPLACE PACKAGE hotel_mgmt AS
  82.    FUNCTION new_employee (first_name VARCHAR2, last_name VARCHAR2, role VARCHAR2)
  83.       RETURN NUMBER;
  84.  
  85. END emp_mgmt;
  86. /
  87.  
  88.  
  89. CREATE OR REPLACE PACKAGE BODY hotel_mgmt AS
  90.    FUNCTION new_employee (p_first_name VARCHAR2, p_first_name VARCHAR2, p_first_name VARCHAR2)
  91.       RETURN NUMBER IS new_emp_id;
  92.   BEGIN
  93.     INSERT INTO employee(first_name, last_name, role) VALUES (p_first_name, p_last_name, p_role);
  94.     RETURN(employee_id_seq.CURRVAL);
  95.   END;
  96.  
  97. END emp_mgmt;
  98. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement