I want to limit input on my table using triggers, but I always get an error message. Warning: Trigger created with compilation errors.
LINE/COL ERROR
-------- -----------------------------------------------------------------
4/1      PL/SQL: SQL Statement ignored
4/67     PL/SQL: ORA-00920: invalid relational operator
this is the code for my database table
CREATE TABLE jadwal(
    id_jadwal VARCHAR2(10) NOT NULL,
    hari VARCHAR2(7) NOT NULL,
    jam_masuk TIME,
    jam_keluar TIME,
    id_ajar VARCHAR2(20) NOT NULL,
    id_ruang VARCHAR2(4) NOT NULL,
    CONSTRAINT pk_jadwal PRIMARY KEY(id_jadwal),
    CONSTRAINT fk_ajar_jadwal FOREIGN KEY(id_ajar) REFERENCES
    ajar(id_ajar) ON DELETE CASCADE,
    CONSTRAINT fk_ruangan_jadwal FOREIGN KEY(id_ruang) REFERENCES
    ruangan(id_ruang) ON DELETE CASCADE
);
and this is the code for my trigger
CREATE OR REPLACE TRIGGER bef_ins_or_upd_jadwal
BEFORE INSERT OR UPDATE ON jadwal
FOR EACH ROW
DECLARE
    v_cek number(1);
BEGIN
    SELECT COUNT(id_jadwal) INTO v_cek FROM jadwal WHERE old.id_ruang := new.id_ruang AND old.hari := new.hari AND old.jam_masuk :<= new.jam_masuk AND old.jam_keluar :>= new.jam_masuk AND old.id_ajar := new.id_ajar
    OR
    old.id_ruang := new.id_ruang AND old.hari := new.hari AND old.jam_masuk :<= new.jam_keluar AND old.jam_keluar :>= new.jam_keluar AND old.id_ajar := new.id_ajar
    OR
    old.id_ruang := new.id_ruang AND old.hari := new.hari AND old.jam_masuk :>= new.jam_masuk AND old.jam_keluar :<= new.jam_keluar AND old.id_ajar := new.id_ajar;
    if v_cek > 0 THEN
        dbms_output.put_line('id_ruang Sudah Di Isi');
    ELSE
        dbms_output.put_line('berhasil');
    END IF;
END;