Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

базаORACLE SQLкод

.sql
Скачиваний:
8
Добавлен:
23.01.2014
Размер:
37 Кб
Скачать

CREATE TABLE DBUSERS
(
  DBUSER_ID  INTEGER                            NOT NULL,
  LOGIN      VARCHAR2(150 BYTE)                 NOT NULL,
  PASSWORD   VARCHAR2(150 BYTE)                 NOT NULL
)
TABLESPACE SYSTEM
PCTUSED    40
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
LOGGING 
NOCOMPRESS 
NOCACHE
NOPARALLEL
MONITORING;


CREATE TABLE POSITIONS
(
  ID_POS        INTEGER,
  POSITIONNAME  CHAR(40 BYTE)
)
TABLESPACE SYSTEM
PCTUSED    40
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
LOGGING 
NOCOMPRESS 
NOCACHE
NOPARALLEL
MONITORING;


CREATE TABLE USERS
(
  ID_USER   INTEGER,
  FULLNAME  CHAR(50 BYTE)                       NOT NULL,
  ID_POS    INTEGER,
  PHONE     CHAR(11 BYTE)
)
TABLESPACE SYSTEM
PCTUSED    40
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
LOGGING 
NOCOMPRESS 
NOCACHE
NOPARALLEL
MONITORING;


CREATE TABLE TURNSTILES
(
  ID_TURN          INTEGER,
  HOUSING          INTEGER,
  NUMBERINHOUSING  INTEGER
)
TABLESPACE SYSTEM
PCTUSED    40
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
LOGGING 
NOCOMPRESS 
NOCACHE
NOPARALLEL
MONITORING;


CREATE TABLE PERMIT
(
  ID_PERMIT  INTEGER
)
TABLESPACE SYSTEM
PCTUSED    40
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
LOGGING 
NOCOMPRESS 
NOCACHE
NOPARALLEL
MONITORING;


CREATE TABLE FACTDELPERMIT
(
  ID_PERMIT     INTEGER,
  ID_USER       INTEGER,
  DATEOFISSUE   DATE,
  VALIDITY      DATE,
  DATEOFRETURN  DATE,
  ID_DELPERM    INTEGER
)
TABLESPACE SYSTEM
PCTUSED    40
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
LOGGING 
NOCOMPRESS 
NOCACHE
NOPARALLEL
MONITORING;


CREATE TABLE HISTORY
(
  ID_PASSAGE     INTEGER,
  ID_TURN        INTEGER                        NOT NULL,
  ID_PERMIT      INTEGER                        NOT NULL,
  DATEOFPASSAGE  DATE                           NOT NULL,
  ROUTE          INTEGER                        NOT NULL
)
TABLESPACE SYSTEM
PCTUSED    40
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
LOGGING 
NOCOMPRESS 
NOCACHE
NOPARALLEL
MONITORING;


CREATE UNIQUE INDEX FACTDELPERMIT_PK ON FACTDELPERMIT
(ID_DELPERM)
LOGGING
TABLESPACE SYSTEM
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;


CREATE UNIQUE INDEX HISTORY_PK ON HISTORY
(ID_PASSAGE)
LOGGING
TABLESPACE SYSTEM
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;


CREATE UNIQUE INDEX PERMIT_PK ON PERMIT
(ID_PERMIT)
LOGGING
TABLESPACE SYSTEM
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;


CREATE UNIQUE INDEX POSITIONS_PK ON POSITIONS
(ID_POS)
LOGGING
TABLESPACE SYSTEM
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;


CREATE UNIQUE INDEX TURNSTILES_PK ON TURNSTILES
(ID_TURN)
LOGGING
TABLESPACE SYSTEM
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;


CREATE UNIQUE INDEX USERS_PK ON USERS
(ID_USER)
LOGGING
TABLESPACE SYSTEM
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;


CREATE OR REPLACE TRIGGER TR_HISTORY_BI
BEFORE INSERT
ON LAYSAN04KA.HISTORY
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN


If (fun_his_rout(:New.id_permit)=0)
then
	:New.route:=1;
else :New.route:=0;
end if;

  select seqhis.NEXTVAL
  		 into :new.id_passage
  from dual;
		 
select sysdate into :new.dateofpassage
from dual;
END;
/
SHOW ERRORS;



CREATE OR REPLACE TRIGGER TR_FACTDELPERM_BI
BEFORE INSERT
ON LAYSAN04KA.FACTDELPERMIT
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
  if login_id.return_id != 1 then
  raise_application_error(-12345,'You have no.'); 
  end if;
  select seqfactdelperm.nextval 
  into :new.id_delperm
  from dual;
  select sysdate 
  into :new.DATEOFISSUE
  from dual;
  END;
/
SHOW ERRORS;



CREATE OR REPLACE TRIGGER trigger_history
BEFORE INSERT
ON LAYSAN04KA.HISTORY
REFERENCING NEW AS New OLD AS Old
BEGIN
	 insert into copyhistory select * from history; 
END;
/
SHOW ERRORS;



CREATE OR REPLACE TRIGGER LOGINTRIGGER
BEFORE DELETE OR INSERT OR UPDATE
ON LAYSAN04KA.DBUSERS
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
  -- your code here 
  -- (Trigger template "Default" could not be loaded.) 
  if login_id.return_id != 1 then 
  raise_application_error(-12345,'You have no.');
  end if;
END;
/
SHOW ERRORS;



CREATE OR REPLACE TRIGGER USERSTRIGGER
BEFORE INSERT
ON LAYSAN04KA.USERS
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
  -- your code here 
  -- (Trigger template "Default" could not be loaded.) 
  if login_id.return_id != 1 then
  raise_application_error(-12345,'You have no.'); 
  end if;
  select sequsers.nextval
  into :new.id_user
  from dual;
  END;
/
SHOW ERRORS;



CREATE OR REPLACE TRIGGER tr_bdiu_users
BEFORE DELETE OR INSERT OR UPDATE
ON LAYSAN04KA.USERS
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
BEGIN
  if login_id.return_id != 1 then
  raise_application_error(-12345,'You have no.'); 
  end if; 
END;
/
SHOW ERRORS;



ALTER TABLE POSITIONS ADD (
  CONSTRAINT POSITIONS_PK
 PRIMARY KEY
 (ID_POS)
    USING INDEX 
    TABLESPACE SYSTEM
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                MINEXTENTS       1
                MAXEXTENTS       2147483645
                PCTINCREASE      0
                FREELISTS        1
                FREELIST GROUPS  1
               ));


ALTER TABLE USERS ADD (
  CONSTRAINT USERS_PK
 PRIMARY KEY
 (ID_USER)
    USING INDEX 
    TABLESPACE SYSTEM
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                MINEXTENTS       1
                MAXEXTENTS       2147483645
                PCTINCREASE      0
                FREELISTS        1
                FREELIST GROUPS  1
               ));


ALTER TABLE TURNSTILES ADD (
  CONSTRAINT TURNSTILES_PK
 PRIMARY KEY
 (ID_TURN)
    USING INDEX 
    TABLESPACE SYSTEM
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                MINEXTENTS       1
                MAXEXTENTS       2147483645
                PCTINCREASE      0
                FREELISTS        1
                FREELIST GROUPS  1
               ));


ALTER TABLE PERMIT ADD (
  CONSTRAINT PERMIT_PK
 PRIMARY KEY
 (ID_PERMIT)
    USING INDEX 
    TABLESPACE SYSTEM
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                MINEXTENTS       1
                MAXEXTENTS       2147483645
                PCTINCREASE      0
                FREELISTS        1
                FREELIST GROUPS  1
               ));


ALTER TABLE FACTDELPERMIT ADD (
  CONSTRAINT FACTDELPERMIT_PK
 PRIMARY KEY
 (ID_DELPERM)
    USING INDEX 
    TABLESPACE SYSTEM
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                MINEXTENTS       1
                MAXEXTENTS       2147483645
                PCTINCREASE      0
                FREELISTS        1
                FREELIST GROUPS  1
               ));


ALTER TABLE HISTORY ADD (
  CONSTRAINT HISTORY_PK
 PRIMARY KEY
 (ID_PASSAGE)
    USING INDEX 
    TABLESPACE SYSTEM
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                MINEXTENTS       1
                MAXEXTENTS       2147483645
                PCTINCREASE      0
                FREELISTS        1
                FREELIST GROUPS  1
               ));


ALTER TABLE USERS ADD (
  CONSTRAINT USERS_R01 
 FOREIGN KEY (ID_POS) 
 REFERENCES POSITIONS (ID_POS));


ALTER TABLE FACTDELPERMIT ADD (
  CONSTRAINT FACTDELPERMIT_R02 
 FOREIGN KEY (ID_PERMIT) 
 REFERENCES PERMIT (ID_PERMIT));

ALTER TABLE FACTDELPERMIT ADD (
  CONSTRAINT FACTDELPERMIT_R01 
 FOREIGN KEY (ID_USER) 
 REFERENCES USERS (ID_USER));


ALTER TABLE HISTORY ADD (
  CONSTRAINT HISTORY_R01 
 FOREIGN KEY (ID_PERMIT) 
 REFERENCES PERMIT (ID_PERMIT));

ALTER TABLE HISTORY ADD (
  CONSTRAINT HISTORY_R02 
 FOREIGN KEY (ID_TURN) 
 REFERENCES TURNSTILES (ID_TURN));



Insert into DBUSERS
   (DBUSER_ID, LOGIN, PASSWORD)
 Values
   (1, 'Admin', 'Admin');
Insert into DBUSERS
   (DBUSER_ID, LOGIN, PASSWORD)
 Values
   (2, 'Vachter', 'Vachter');
Insert into DBUSERS
   (DBUSER_ID, LOGIN, PASSWORD)
 Values
   (3, 'Analitic', 'Analitic');
Insert into DBUSERS
   (DBUSER_ID, LOGIN, PASSWORD)
 Values
   (4, 'Lolka', 'Lalka');
COMMIT;

Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (1, 1, TO_DATE('05/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('09/01/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, 
    1);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (2, 2, TO_DATE('05/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    2);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (3, 12, TO_DATE('05/20/2013 13:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('05/28/2014 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, 
    3);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (4, 3, TO_DATE('05/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('08/26/2015 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, 
    4);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (5, 4, TO_DATE('05/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    5);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (6, 5, TO_DATE('08/26/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    6);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (7, 6, TO_DATE('08/17/2013 00:00:05', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    7);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (8, 7, TO_DATE('05/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    8);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (9, 8, TO_DATE('05/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    9);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (10, 9, TO_DATE('08/26/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('08/26/2014 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, 
    10);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (11, 10, TO_DATE('08/26/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('08/26/2014 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, 
    11);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (12, 11, TO_DATE('08/26/2012 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('08/26/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, 
    12);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (13, 13, TO_DATE('05/17/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    13);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (14, 14, TO_DATE('01/27/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    14);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (15, 15, TO_DATE('01/27/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    15);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (16, 16, TO_DATE('01/27/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    16);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (17, 17, TO_DATE('01/27/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    17);
Insert into FACTDELPERMIT
   (ID_PERMIT, ID_USER, DATEOFISSUE, VALIDITY, DATEOFRETURN, 
    ID_DELPERM)
 Values
   (NULL, NULL, TO_DATE('11/12/2013 22:27:38', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, 
    19);
COMMIT;

Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (4, 2, 2, TO_DATE('05/27/2013 12:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (5, 2, 2, TO_DATE('05/27/2013 12:00:10', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (1, 1, 1, TO_DATE('05/24/2013 07:50:00', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (6, 1, 1, TO_DATE('05/27/2013 08:30:14', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (2, 2, 1, TO_DATE('05/24/2013 11:30:00', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (3, 2, 2, TO_DATE('05/27/2013 07:30:00', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (9, 2, 3, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (10, 2, 3, TO_DATE('05/28/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (7, 14, 3, TO_DATE('07/26/2013 14:45:00', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (8, 14, 3, TO_DATE('07/26/2013 14:55:00', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (11, 7, 18, TO_DATE('06/06/2013 07:50:00', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (12, 8, 18, TO_DATE('06/06/2013 12:00:00', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (13, 7, 18, TO_DATE('06/06/2013 13:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (14, 8, 18, TO_DATE('06/06/2013 16:02:05', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (15, 9, 16, TO_DATE('06/07/2013 07:55:09', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (16, 10, 16, TO_DATE('06/07/2013 15:56:06', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (17, 4, 11, TO_DATE('10/31/2013 16:39:15', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (18, 4, 11, TO_DATE('10/31/2013 16:40:52', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (20, 3, 11, TO_DATE('11/06/2013 18:55:56', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (21, 3, 8, TO_DATE('11/07/2013 09:54:15', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (22, 3, 8, TO_DATE('11/07/2013 09:55:02', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (23, 4, 7, TO_DATE('11/07/2013 10:11:17', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (24, 1, 1, TO_DATE('11/07/2013 10:29:00', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (25, 3, 11, TO_DATE('11/07/2013 10:35:50', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (26, 13, 1, TO_DATE('11/07/2013 13:58:30', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (27, 13, 1, TO_DATE('11/07/2013 13:58:37', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (28, 6, 1, TO_DATE('11/07/2013 14:00:58', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (29, 6, 1, TO_DATE('11/07/2013 14:01:01', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (30, 6, 1, TO_DATE('11/11/2013 15:12:43', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (31, 11, 1, TO_DATE('11/13/2013 13:52:49', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (32, 11, 1, TO_DATE('11/13/2013 13:52:51', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (33, 12, 5, TO_DATE('11/13/2013 14:06:09', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (34, 12, 5, TO_DATE('11/13/2013 14:06:12', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (35, 12, 5, TO_DATE('11/13/2013 14:06:16', 'MM/DD/YYYY HH24:MI:SS'), 1);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (36, 12, 5, TO_DATE('11/13/2013 14:06:19', 'MM/DD/YYYY HH24:MI:SS'), 0);
Insert into HISTORY
   (ID_PASSAGE, ID_TURN, ID_PERMIT, DATEOFPASSAGE, ROUTE)
 Values
   (37, 12, 5, TO_DATE('11/13/2013 14:07:16', 'MM/DD/YYYY HH24:MI:SS'), 1);
COMMIT;

Insert into PERMIT
   (ID_PERMIT)
 Values
   (1);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (2);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (3);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (4);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (5);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (6);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (7);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (8);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (9);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (10);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (11);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (12);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (13);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (14);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (15);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (16);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (17);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (18);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (19);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (20);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (21);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (22);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (23);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (24);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (25);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (26);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (27);
Insert into PERMIT
   (ID_PERMIT)
 Values
   (28);
COMMIT;

Insert into POSITIONS
   (ID_POS, POSITIONNAME)
 Values
   (1, 'Студент                          ');
Insert into POSITIONS
   (ID_POS, POSITIONNAME)
 Values
   (2, 'Аспирант                        ');
Insert into POSITIONS
   (ID_POS, POSITIONNAME)
 Values
   (3, 'Преподаватель              ');
Insert into POSITIONS
   (ID_POS, POSITIONNAME)
 Values
   (4, 'Лаборант                        ');
Insert into POSITIONS
   (ID_POS, POSITIONNAME)
 Values
   (5, 'РаботникОбщеПита        ');
Insert into POSITIONS
   (ID_POS, POSITIONNAME)
 Values
   (6, 'Вахтёр                            ');
Insert into POSITIONS
   (ID_POS, POSITIONNAME)
 Values
   (7, 'Продавец                        ');
Insert into POSITIONS
   (ID_POS, POSITIONNAME)
 Values
   (8, 'Уборщица                        ');
COMMIT;

Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (1, 1, 1);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (2, 1, 2);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (3, 6, 1);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (4, 6, 2);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (5, 6, 3);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (6, 6, 4);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (7, 2, 1);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (8, 2, 2);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (9, 3, 1);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (10, 3, 2);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (11, 4, 1);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (12, 4, 2);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (14, 5, 2);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (13, 5, 1);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (15, 7, 1);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (16, 7, 2);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (17, 8, 1);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (18, 8, 2);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (19, 9, 1);
Insert into TURNSTILES
   (ID_TURN, HOUSING, NUMBERINHOUSING)
 Values
   (20, 9, 2);
COMMIT;

Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (1, 'Фатхутдинова Л.М.                   ', 1, '89177787254');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (2, 'Макеев Г.А.                               ', 3, '89177767785');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (3, 'Билалова Д.Р.                           ', 1, '89610467005');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (4, 'Ефименко Н.В.                           ', 3, '89876172724');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (5, 'Алдошина Т.                              ', 1, '89173545177');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (6, 'Айбулатов М.                            ', 1, NULL);
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (7, 'Габдиев Ф.                                ', 1, '89170455702');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (8, 'Картак В.М.                               ', 3, NULL);
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (9, 'Иванова И.И.                             ', 6, '89564312380');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (10, 'Петрова И.Р.                             ', 6, '89155556667');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (11, 'Кошкин В.И                                ', 2, '89273456751');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (12, 'Мышкин И.В.                               ', 4, '89174544777');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (13, 'Картошкина О.Е.                       ', 5, '89174544444');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (14, 'Ножова Р.Г.                               ', 7, NULL);
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (15, 'Горный Н.Б.                               ', 4, '89112233445');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (17, 'Минова Г.Г.                               ', 8, '89278901234');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (16, 'Мушникова Г.Н.                         ', 5, '89177777777');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (24, 'Петросян Ю.В.                           ', 3, '98890908098');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (25, 'Шигорин Олег                           ', 1, '89674565   ');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (27, 'Мария Петровна                       ', 5, '12345      ');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (21, 'tnhjczy                                           ', 3, '90909090909');
Insert into USERS
   (ID_USER, FULLNAME, ID_POS, PHONE)
 Values
   (22, 'Гургинянц                                ', 7, '1236549870 ');
COMMIT;

---
CREATE OR REPLACE VIEW ADMINRAZ
(PERM, FIO, POSITION, PHONE)
AS 
select
   permit.id_permit as Perm,
   FIO,
   Position,
   Phone
from(
select factdelpermit.id_permit as permitid,
    factdelpermit.id_user as userid,
    users.fullname as FIO,
    positions.positionname as Position,
    users.phone as Phone
from 
factdelpermit,
users,
positions

where 
    
    positions.id_pos=users.id_pos AND factdelpermit.id_user=users.id_user
    ),permit
where
  permit.id_permit=permitid(+)
/


CREATE OR REPLACE VIEW VIEW_HISTORY
(FULLNAME, KORPUS, DATEOFPASSAGE, ROUTE)
AS 
select users.fullname, turnstiles.housing as KORPUS,history.dateofpassage, history.route
from history,users, turnstiles,factdelpermit
where  history.id_turn = turnstiles.id_turn
and history.id_permit = factdelpermit.id_permit
and factdelpermit.id_permit = users.id_user
/


CREATE OR REPLACE VIEW NORM_VIEW_FOR_VATCHER
(FULLNAME, MAXTIME, KORPUS)
AS 
select g.fullname,g.maxtime, VIEW_HISTORY.korpus 
from
(select fullname, max(dateofpassage) as maxtime
from  VIEW_HISTORY
group by fullname) g, VIEW_HISTORY 
where g.fullname = VIEW_HISTORY.fullname 
and VIEW_HISTORY.dateofpassage=maxtime
and view_history.route = 0
/


CREATE OR REPLACE VIEW VIEW_FOR_VACHTER
(FULLNAME, MAXTIME, KORPUS)
AS 
select g.fullname,g.maxtime, VIEW_HISTORY.korpus 
from
(select fullname, max(dateofpassage) as maxtime
from  VIEW_HISTORY
group by fullname) g, VIEW_HISTORY 
where g.fullname = VIEW_HISTORY.fullname and VIEW_HISTORY.dateofpassage=maxtime
/


---
--LOGINTRIGGER
--TR_BDIU_USERS
--TR_FACTDELPERM_BI
--TR_HISTORY_BI
--TRIGGER_HISTORY
--USERSTRIGGER
--
CREATE OR REPLACE TRIGGER LOGINTRIGGER
BEFORE DELETE OR INSERT OR UPDATE
ON LAYSAN04KA.DBUSERS
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
  -- your code here 
  -- (Trigger template "Default" could not be loaded.) 
  if login_id.return_id != 1 then 
  raise_application_error(-12345,'You have no.');
  end if;
END;
/



CREATE OR REPLACE TRIGGER trigger_history
BEFORE INSERT
ON LAYSAN04KA.HISTORY
REFERENCING NEW AS New OLD AS Old
BEGIN
	 insert into copyhistory select * from history; 
END;
/



CREATE OR REPLACE TRIGGER tr_bdiu_users
BEFORE DELETE OR INSERT OR UPDATE
ON LAYSAN04KA.USERS
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
BEGIN
  if login_id.return_id != 1 then
  raise_application_error(-12345,'You have no.'); 
  end if; 
END;
/



CREATE OR REPLACE TRIGGER TR_FACTDELPERM_BI
BEFORE INSERT
ON LAYSAN04KA.FACTDELPERMIT
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
  if login_id.return_id != 1 then
  raise_application_error(-12345,'You have no.'); 
  end if;
  select seqfactdelperm.nextval 
  into :new.id_delperm
  from dual;
  select sysdate 
  into :new.DATEOFISSUE
  from dual;
  END;
/



CREATE OR REPLACE TRIGGER TR_HISTORY_BI
BEFORE INSERT
ON LAYSAN04KA.HISTORY
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN


If (fun_his_rout(:New.id_permit)=0)
then
	:New.route:=1;
else :New.route:=0;
end if;

  select seqhis.NEXTVAL
  		 into :new.id_passage
  from dual;
		 
select sysdate into :new.dateofpassage
from dual;
END;
/



CREATE OR REPLACE TRIGGER USERSTRIGGER
BEFORE INSERT
ON LAYSAN04KA.USERS
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
  -- your code here 
  -- (Trigger template "Default" could not be loaded.) 
  if login_id.return_id != 1 then
  raise_application_error(-12345,'You have no.'); 
  end if;
  select sequsers.nextval
  into :new.id_user
  from dual;
  END;
/




---
CREATE OR REPLACE FUNCTION LAYSAN04KA.fun_his_rout (cur in history.id_permit%type)-- cur - номер текущего id_пропуска
return history.route%type  
is
route_last  history.route%type;
begin--create table schema1.tab1 as select * from schema2.tab1 copyHISORY
/*select copyhistory.route
into route_last
from copyhistory
where copyhistory.id_permit=cur
	  and 
	  copyhistory.dateofpassage=(select max(copyhistory.dateofpassage)
	   from copyhistory
	   where copyhistory.id_permit=cur);*/
select count(*)
into route_last
from copyhistory
where
copyhistory.id_permit = cur;
	   
if mod(route_last,2)=0  then route_last:=0;
else route_last:=1;
end if;
return(route_last);
end fun_his_rout;
/


---
CREATE OR REPLACE PROCEDURE LAYSAN04KA.line_to_factdelpermit (fio varchar2, /*vozvrat varchar2,*/ nomprop integer)
is
var_fio integer;
--var_vozvrat date;
begin
select users.id_user into var_fio
from users 
where users.fullname = fio;
/*select (*/--to_date (vozvrat,'DD.MM.YYYY HH:MI:SS')--) i--nto var_vozvrat from dual;
--var_vozvrat:=to_date (vozvrat,'DD.MM.YYYY HH:MI:SS');
insert into factdelpermit (id_user,/*validity,*/ id_permit) values (var_fio, /*to_date (vozvrat,'DD.MM.YYYY'),*/ nomprop);
end;
/


CREATE OR REPLACE PROCEDURE LAYSAN04KA.line_to_history(pass integer,turn integer)
is
begin
insert into history(id_turn,id_permit) values (turn,pass);
end;
/


CREATE OR REPLACE PROCEDURE LAYSAN04KA.line_to_users (fio varchar2, dol varchar2, telefon varchar2)
is
var_pos integer;
begin
select id_pos into var_pos
from positions
where positionname = dol;  
insert into users (fullname, id_pos, phone) 
values (fio, var_pos, telefon);
end;
/


---
CREATE OR REPLACE PACKAGE LAYSAN04KA.login_id
IS
   PROCEDURE zaloginsa (l VARCHAR2, p VARCHAR2);

   FUNCTION return_id
      RETURN INTEGER;
END login_id;
/*CREATE OR REPLACE PACKAGE BODY login_id
IS
   usernum   INTEGER;

   PROCEDURE zaloginsa (l VARCHAR2, p VARCHAR2)
   IS
   BEGIN
      SELECT dbuser_id
        INTO usernum
        FROM dbusers
       WHERE login = l AND PASSWORD = p;
   END zaloginsa;

   FUNCTION return_id
      RETURN INTEGER
   AS
   BEGIN
      IF usernum IS NULL
      THEN
         raise_application_error (-20003, 'Login error');
      ELSE
         RETURN usernum;
      END IF;
   END;
END login_id;
/*/

/*<TOAD_FILE_CHUNK>*/
/*CREATE OR REPLACE PACKAGE BODY login_id
IS
   usernum   INTEGER;

   PROCEDURE zaloginsa (l VARCHAR2, p VARCHAR2)
   IS
   BEGIN
      SELECT user_id
        INTO usernum
        FROM users
       WHERE login = l AND PASSWORD = p;
   END zaloginsa;

   FUNCTION return_id
      RETURN INTEGER
   AS
   BEGIN
      IF usernum IS NULL
      THEN
         raise_application_error (-20003, 'Login error');
      ELSE
         RETURN usernum;
      END IF;
   END;
END login_id;
/*/
/


CREATE OR REPLACE PACKAGE BODY LAYSAN04KA.login_id
IS
   usernum   INTEGER;

   PROCEDURE zaloginsa (l VARCHAR2, p VARCHAR2)
   IS
   BEGIN
      SELECT dbuser_id
        INTO usernum
        FROM dbusers
       WHERE login = l AND PASSWORD = p;
   END zaloginsa;

   FUNCTION return_id
      RETURN INTEGER
   AS
   BEGIN
      IF usernum IS NULL
      THEN
         raise_application_error (-20003, 'Login error');
      ELSE
         RETURN usernum;
      END IF;
   END;
END login_id;
/*/

/*<TOAD_FILE_CHUNK>*/
/*CREATE OR REPLACE PACKAGE BODY login_id
IS
   usernum   INTEGER;

   PROCEDURE zaloginsa (l VARCHAR2, p VARCHAR2)
   IS
   BEGIN
      SELECT user_id
        INTO usernum
        FROM users
       WHERE login = l AND PASSWORD = p;
   END zaloginsa;

   FUNCTION return_id
      RETURN INTEGER
   AS
   BEGIN
      IF usernum IS NULL
      THEN
         raise_application_error (-20003, 'Login error');
      ELSE
         RETURN usernum;
      END IF;
   END;
END login_id;
/*/
/



DROP SEQUENCE LAYSAN04KA.SEQFACTDELPERM;

CREATE SEQUENCE LAYSAN04KA.SEQFACTDELPERM
  START WITH 20
  MAXVALUE 999999999999999999999999999
  MINVALUE 0
  NOCYCLE
  NOCACHE
  NOORDER;


DROP SEQUENCE LAYSAN04KA.SEQHIS;

CREATE SEQUENCE LAYSAN04KA.SEQHIS
  START WITH 38
  MAXVALUE 10000
  MINVALUE 16
  NOCYCLE
  NOCACHE
  NOORDER;


DROP SEQUENCE LAYSAN04KA.SEQUSERS;

CREATE SEQUENCE LAYSAN04KA.SEQUSERS
  START WITH 29
  MAXVALUE 999999999999999999999999999
  MINVALUE 1
  NOCYCLE
  NOCACHE
  NOORDER;


Соседние файлы в предмете Базы данных