Sunteți pe pagina 1din 8

CREATE TABLE TBL_DETAIL

(
ID NUMBER NOT NULL,
NOMORRSP NUMBER NOT NULL,
KODEOBT NUMBER NOT NULL,
HARGA VARCHAR2 (20 BYTE) NOT NULL,
DOSIS VARCHAR2 (30 BYTE) NOT NULL,
SUBTOTAL VARCHAR2 (20 BYTE) NOT NULL,
CONSTRAINT TBL_DETAIL_PK PRIMARY KEY(ID));

CREATE SEQUENCE TBL_DETAIL_SEQ START WITH 1;

CREATE OR REPLACE TRIGGER BI_TBL_DETAIL


BEFORE INSERT ON TBL_DETAIL
FOR EACH ROW
BEGIN
SELECT TBL_DETAIL_SEQ.NEXTVAL
INTO :NEW.ID
FROM DUAL;
END;
/

CREATE TABLE TBL_RESEP


(
ID NUMBER NOT NULL,
NOMORRSP NUMBER NOT NULL,
TANGGALRSP DATE NOT NULL,
KODEDKT NUMBER NOT NULL,
KODEPSN NUMBER NOT NULL,
KODEPL NUMBER NOT NULL,
KODEPMK NUMBER NOT NULL,
TOTALHRG VARCHAR2 (30) NOT NULL,
DIBAYAR VARCHAR2 (30) NOT NULL,
KEMBALI VARCHAR2 (30) NOT NULL,
CONSTRAINT TBL_RESEP_PK PRIMARY KEY(ID));

CREATE SEQUENCE TBL_RESEP_SEQ START WITH 1;

CREATE OR REPLACE TRIGGER BI_TBL_RESEP


BEFORE INSERT ON TBL_RESEP
FOR EACH ROW
BEGIN
SELECT TBL_RESEP_SEQ.NEXTVAL
INTO :NEW.ID
FROM DUAL;
END;
/

CREATE TABLE TBL_OBAT


(
ID NUMBER NOT NULL,
KODEOBT NUMBER NOT NULL,
NAMAOBT VARCHAR2 (30) NOT NULL,
JENISOBT VARCHAR2 (20) NOT NULL,
KATEGORI VARCHAR2 (30) NOT NULL,
HARGAOBT VARCHAR2 (20) NOT NULL,
JUMLAHOBT VARCHAR2 (20) NOT NULL,
CONSTRAINT TBL_OBAT_PK PRIMARY KEY(ID));

CREATE SEQUENCE TBL_OBAT_SEQ START WITH 1;

CREATE OR REPLACE TRIGGER BI_TBL_OBAT


BEFORE INSERT ON TBL_OBAT
FOR EACH ROW
BEGIN
SELECT TBL_OBAT_SEQ.NEXTVAL
INTO :NEW.ID
FROM DUAL;
END;
/

CREATE TABLE TBL_DOKTER


(
ID NUMBER NOT NULL,
KODEDKT NUMBER NOT NULL,
NAMADKT VARCHAR2 (30) NOT NULL,
SPESIALIS VARCHAR2 (15) NOT NULL,
ALAMATDKT VARCHAR2 (25) NOT NULL,
TELEPONDKT VARCHAR2 (20) NOT NULL,
KODEPL NUMBER NOT NULL,
TARIF VARCHAR2 (15) NOT NULL,
CONSTRAINT TBL_DOKTER_PK PRIMARY KEY(ID));

CREATE SEQUENCE TBL_DOKTER_SEQ START WITH 1;

CREATE OR REPLACE TRIGGER BI_TBL_DOKTER


BEFORE INSERT ON TBL_DOKTER
FOR EACH ROW
BEGIN
SELECT TBL_DOKTER_SEQ.NEXTVAL
INTO :NEW.ID
FROM DUAL;
END;
/

CREATE TABLE TBL_PASIEN


(
ID NUMBER NOT NULL,
KODEPSN NUMBER NOT NULL,
NAMAPSN VARCHAR2 (30) NOT NULL,
ALAMATPSN VARCHAR2 (30) NOT NULL,
GENDERPSN VARCHAR2 (20) NOT NULL,
UMURPSN VARCHAR2 (15) NOT NULL,
TELEPONPSN VARCHAR2 (20) NOT NULL,
CONSTRAINT TBL_PASIEN_PK PRIMARY KEY(ID));

CREATE SEQUENCE TBL_PASIEN_SEQ START WITH 1;

CREATE OR REPLACE TRIGGER BI_TBL_PASIEN


BEFORE INSERT ON TBL_PASIEN
FOR EACH ROW
BEGIN
SELECT TBL_PASIEN_SEQ.NEXTVAL
INTO :NEW.ID
FROM DUAL;
END;
/

CREATE TABLE TBL_POLI


(
ID NUMBER NOT NULL,
KODEPL NUMBER NOT NULL,
NAMAPL VARCHAR2 (25) NOT NULL,
CONSTRAINT TBL_POLI_PK PRIMARY KEY(ID));

CREATE SEQUENCE TBL_POLI_SEQ START WITH 1;

CREATE OR REPLACE TRIGGER BI_TBL_POLI


BEFORE INSERT ON TBL_POLI
FOR EACH ROW
BEGIN
SELECT TBL_POLI_SEQ.NEXTVAL
INTO :NEW.ID
FROM DUAL;
END;
/

CREATE TABLE TBL_PEMAKAI


(
ID NUMBER NOT NULL,
KODEPMK NUMBER NOT NULL,
NAMAPMK VARCHAR2 (30) NOT NULL,
PASSPMK VARCHAR2 (25) NOT NULL,
STATUSPMK VARCHAR2 (20) NOT NULL,
CONSTRAINT TBL_PEMAKAI_PK PRIMARY KEY(ID));
CREATE SEQUENCE TBL_PEMAKAI_SEQ START WITH 1;

CREATE OR REPLACE TRIGGER BI_TBL_PEMAKAI


BEFORE INSERT ON TBL_PEMAKAI
FOR EACH ROW
BEGIN
SELECT TBL_PEMAKAI_SEQ.NEXTVAL
INTO :NEW.ID
FROM DUAL;
END;
/

CREATE TABLE TBL_PENDAFTARAN


(
ID NUMBER NOT NULL,
NOMORDFT NUMBER NOT NULL,
TANGGALDFT DATE NOT NULL,
KODEDKT NUMBER NOT NULL,
KODEPSN NUMBER NOT NULL,
KODEPL NUMBER NOT NULL,
KODEPMK NUMBER NOT NULL,
BIAYA VARCHAR2 (30) NOT NULL,
KET VARCHAR2 (30) NOT NULL,
CONSTRAINT TBL_PENDAFTARAN_PK PRIMARY KEY(ID));

CREATE SEQUENCE TBL_PENDAFTARAN_SEQ START WITH 1;

CREATE OR REPLACE TRIGGER BI_TBL_PENDAFTARAN


BEFORE INSERT ON TBL_PENDAFTARAN
FOR EACH ROW
BEGIN
SELECT TBL_PENDAFTARAN_SEQ.NEXTVAL
INTO :NEW.ID
FROM DUAL;
END;
/

CREATE TABLE TBL_PEMBAYARAN


(
ID NUMBER NOT NULL,
NOMORBYR NUMBER NOT NULL,
KODEPSN NUMBER NOT NULL,
TANGGALBYR DATE NOT NULL,
JUMLAHBYR VARCHAR2 (25) NOT NULL,
CONSTRAINT TBL_PEMBAYARAN_PK PRIMARY KEY(ID));
CREATE SEQUENCE TBL_PEMBAYARAN_SEQ START WITH 1;

CREATE OR REPLACE TRIGGER BI_TBL_PEMBAYARAN


BEFORE INSERT ON TBL_PEMBAYARAN
FOR EACH ROW
BEGIN
SELECT TBL_PEMBAYARAN_SEQ.NEXTVAL
INTO :NEW.ID
FROM DUAL;
END;
/

INSERT ALL
INTO TBL_DETAIL VALUES('1','1','1','10000','TINGGI','10000')
INTO TBL_DETAIL VALUES('2','2','2','100','RENDAH','100')
INTO TBL_DETAIL VALUES('3','3','3','10000','TINGGI','10000')
INTO TBL_DETAIL VALUES('4','4','4','1000','RENDAH','1000')
INTO TBL_DETAIL VALUES('5','5','5','10000','TINGGI','10000')
SELECT * FROM DUAL;

INSERT ALL
INTO TBL_RESEP VALUES('1', '1', '10 SEPTEMBER 2019', '1', '1', '1', '1', '20000',
'30000', '10000')
INTO TBL_RESEP VALUES('2', '2', '11 SEPTEMBER 2019', '2', '2', '2', '2', '30000',
'40000', '10000')
INTO TBL_RESEP VALUES('3', '3', '12 SEPTEMBER 2019', '3', '3', '3', '3', '40000',
'50000', '10000')
INTO TBL_RESEP VALUES('4', '4', '13 SEPTEMBER 2019', '4', '4', '4', '4', '50000',
'60000', '10000')
INTO TBL_RESEP VALUES('5', '5', '14 SEPTEMBER 2019', '5', '5', '5', '5', '50000',
'70000', '10000')
SELECT * FROM DUAL;

INSERT ALL
INTO TBL_DOKTER VALUES('1', '1', 'AGUS', 'MATA', 'BOGOR', '09480784', '1',
'100000')
INTO TBL_DOKTER VALUES('2', '2', 'ROHMAN', 'KULIT', 'JAKARTA', '08877847', '2',
'200000')
INTO TBL_DOKTER VALUES('3', '3', 'SARASVATI', 'JANTUNG', 'BANDUNG', '0776654', '3',
'300000')
INTO TBL_DOKTER VALUES('4', '4', 'OZAWA', 'HIDUNG', 'TANGERANG', '0767534', '4',
'400000')
INTO TBL_DOKTER VALUES('5', '5', 'MIA', 'KUPING', 'MALANG', '0663748', '5',
'500000')
SELECT * FROM DUAL;

INSERT ALL
INTO TBL_PENDAFTARAN VALUES('1', '1', '01-JAN-2019', '1', '1', '1', '1', '10000',
'RAME')
INTO TBL_PENDAFTARAN VALUES('2', '2', '01-JAN-2019', '2', '2', '2', '2', '10000',
'BANYAK')
INTO TBL_PENDAFTARAN VALUES('3', '3', '01-JAN-2019', '3', '3', '3', '3', '10000',
'SEDIKIT')
INTO TBL_PENDAFTARAN VALUES('4', '4', '01-FEB-2019', '4', '4', '4', '4', '10000',
'RAME')
INTO TBL_PENDAFTARAN VALUES('5', '5', '01-FEB-2019', '5', '5', '5', '5', '10000',
'BANYAK')
SELECT * FROM DUAL;
INSERT ALL
INTO TBL_OBAT VALUES('1', '1', 'NEORAMASIL', 'DSF', 'TRET', '100000', '1')
INTO TBL_OBAT VALUES('2', '2', 'BODREX', 'FDS', 'REYY', '200000', '2')
INTO TBL_OBAT VALUES('3', '3', 'FORMULA 44', 'GFD', 'GFHY', '300000', '3')
INTO TBL_OBAT VALUES('4', '4', 'BODREX', 'SFD', 'ASE3', '400000', '4')
INTO TBL_OBAT VALUES('5', '5', 'TOLAK ANGIN', 'TRE', 'ER44', '500000', '5')
SELECT * FROM DUAL;

INSERT ALL
INTO TBL_PASIEN VALUES('1', '1', 'DANANG', 'JAKARTA', 'LAKI-LAKI', '16',
'051248420')
INTO TBL_PASIEN VALUES('2', '2', 'WAHYU', 'BANDUNG', 'LAKI-LAKI', '17',
'01854084218')
INTO TBL_PASIEN VALUES('3', '3', 'ZEYENG', 'BOGOR', 'PEREMPUAN', '18', '065478518')
INTO TBL_PASIEN VALUES('4', '4', 'DINDA', 'MALANG', 'PEREMPUAN', '19',
'0545184858')
INTO TBL_PASIEN VALUES('5', '5', 'RAKA', 'SERANG', 'LAKI-LAKI', '20', '0156418548')
SELECT * FROM DUAL;

INSERT ALL
INTO TBL_PEMBAYARAN VALUES('1', '1', '1', '20 NOVEMBER 2019', '100000')
INTO TBL_PEMBAYARAN VALUES('2', '2', '2', '21 NOVEMBER 2019', '200000')
INTO TBL_PEMBAYARAN VALUES('3', '3', '3', '22 NOVEMBER 2019', '300000')
INTO TBL_PEMBAYARAN VALUES('4', '4', '4', '23 NOVEMBER 2019', '400000')
INTO TBL_PEMBAYARAN VALUES('5', '5', '5', '24 NOVEMBER 2019', '500000')
SELECT * FROM DUAL;

INSERT ALL
INTO TBL_POLI VALUES('1', '1', 'PENYAKIT DALAM')
INTO TBL_POLI VALUES('2', '2', 'GIGI')
INTO TBL_POLI VALUES('3', '3', 'KULIT')
INTO TBL_POLI VALUES('4', '4', 'MATA')
INTO TBL_POLI VALUES('5', '5', 'HIDUNG')
SELECT * FROM DUAL;

INSERT ALL
INTO TBL_PEMAKAI VALUES('1', '1', 'DANANG', 'HHGF', 'SINGLE')
INTO TBL_PEMAKAI VALUES('2', '2', 'WAHYU', 'RSE3', 'SINGLE')
INTO TBL_PEMAKAI VALUES('3', '3', 'ZEYENG', 'SDFR', 'SINGLE')
INTO TBL_PEMAKAI VALUES('4', '4', 'DINDA', 'TGR4', 'SINGLE')
INTO TBL_PEMAKAI VALUES('5', '5', 'RAKA', '1WED', 'SINGLE')
SELECT * FROM DUAL;

CREATE VIEW POINTA AS


SELECT
NAMADKT,
SPESIALIS,
NAMAPSN,
TANGGALRSP,
TOTALHRG,
NAMAOBT,
DOSIS
FROM
TBL_PENDAFTARAN INNER JOIN TBL_PASIEN ON TBL_PENDAFTARAN.KODEPSN =
TBL_PASIEN.KODEPSN
INNER JOIN TBL_DOKTER ON TBL_DOKTER.KODEDKT = TBL_PENDAFTARAN.KODEDKT
INNER JOIN TBL_RESEP ON TBL_RESEP.KODEDKT = TBL_DOKTER.KODEDKT
INNER JOIN TBL_DETAIL ON TBL_DETAIL.NOMORRSP =TBL_RESEP.NOMORRSP
INNER JOIN TBL_OBAT ON TBL_OBAT.KODEOBT = TBL_DETAIL.KODEOBT
ORDER BY TBL_PENDAFTARAN.ID
/

CREATE VIEW POINTB AS


SELECT
NOMORDFT,
NAMADKT,
SPESIALIS,
NAMAPL,
TANGGALBYR,
JUMLAHBYR
DOSIS
FROM
TBL_PENDAFTARAN INNER JOIN TBL_PASIEN ON TBL_PENDAFTARAN.KODEPSN =
TBL_PASIEN.KODEPSN
INNER JOIN TBL_DOKTER ON TBL_DOKTER.KODEDKT = TBL_PENDAFTARAN.KODEDKT
INNER JOIN TBL_POLI ON TBL_POLI.KODEPL = TBL_DOKTER.KODEPL
INNER JOIN TBL_PEMBAYARAN ON TBL_PEMBAYARAN.KODEPSN = TBL_PASIEN.KODEPSN
ORDER BY TBL_PENDAFTARAN.ID
/

CREATE VIEW POINTC AS


SELECT
NOMORDFT,
NAMAPSN,
UMURPSN,
NAMAPMK,
STATUSPMK,
TANGGALRSP,
HARGA,
DOSIS,
NAMAOBT
FROM
TBL_PENDAFTARAN INNER JOIN TBL_PASIEN ON TBL_PENDAFTARAN.KODEPSN =
TBL_PASIEN.KODEPSN
INNER JOIN TBL_PEMAKAI ON TBL_PEMAKAI.KODEPMK = TBL_PENDAFTARAN.KODEPMK
INNER JOIN TBL_RESEP ON TBL_RESEP.KODEPMK = TBL_PEMAKAI.KODEPMK
INNER JOIN TBL_DETAIL ON TBL_DETAIL.NOMORRSP = TBL_RESEP.NOMORRSP
INNER JOIN TBL_OBAT ON TBL_OBAT.KODEOBT = TBL_DETAIL.KODEOBT
ORDER BY TBL_PENDAFTARAN.ID
/

SELECT
TANGGALDFT,ALAMATPSN,GENDERPSN,NAMAPL
FROM
TBL_PENDAFTARAN INNER JOIN TBL_PASIEN ON TBL_PASIEN.KODEPSN =
TBL_PENDAFTARAN.KODEPSN
INNER JOIN TBL_POLI ON TBL_POLI.KODEPL = TBL_PENDAFTARAN.KODEPL
WHERE TANGGALDFT IN ('01-JANUARY-2019');

SELECT
NAMAPSN
FROM
TBL_PENDAFTARAN INNER JOIN TBL_PASIEN ON TBL_PASIEN.KODEPSN =
TBL_PENDAFTARAN.KODEPSN
INNER JOIN TBL_POLI ON TBL_POLI.KODEPL = TBL_PENDAFTARAN.KODEPL
INNER JOIN TBL_DOKTER ON TBL_DOKTER.KODEDKT = TBL_PENDAFTARAN.KODEDKT
WHERE NAMADKT NOT IN ('AGUS');

S-ar putea să vă placă și