Hi,

Kalau compile nya di sqlplus, coba lihat errornya dengan ketik show error
Dari output show error itu, baru bisa diketahui salahnya di mana.

Umumnya kurang tanda koma, titik koma ( ; ), kutip, sintaks nya.

Cheers,
Wadi Achmed

On Wed, Feb 10, 2010 at 10:28 AM, Del Ester <[email protected]> wrote:

> Terima kasih atas bantuannya mas Joey.
> maaf, saya ada 1 pertanyaan lagi, sewaktu saya run 2 trigger tersebut
> keluar error
> Warning: Trigger created with compilation errors.
>
> Atas bantuannya saya ucapkan terima kasih.
>
>
>
>
>
> ________________________________
> From: inijoey <[email protected]>
> To: [email protected]
> Sent: Mon, February 8, 2010 7:56:13 PM
> Subject: {Disarmed} Re: [indo-oracle] Tanya Trigger n save
>
>
> sepertinya cuman kurang grant create trigger untuk user bro ...
> coba login dari system : grant create trigger to <user>;
>
> regards,
> joey
>
> Del Ester wrote:
> >
> >
> > Hallo para senior Oracle.
> > Saya baru belajar Oracle dapat kesulitan, mudahan2 para senior oracle
> > ada yang bisa memberikan penyegaran.. ......
> > aku mau membuat trigger dari contoh di bawah ini.
> >
> > 1. untuk create table sih gak ada masalah, semuanya "table created",
> > 2. setelah nyoba create dua trigger, ke dua duanya keluar pesan
> > "ORA-01031: insufficient privilages".
> > kenapa yah.... apa memang ada yang salah dari dua sintak trigger
> tersebut.
> > 3. dalam penulisannya apa memang harus di ikutkan kata2 replace untuk
> > create (baru).
> > 4. sintak2 seperti ini apa bisa di simpan (dalam satu file/tempat) dan
> > sewaktu2 bisa di panggil untuk modifikasi,
> >
> > Sekian dari saya atas kebaikan hati para senior Oracle untuk
> > memberikan tanggapan dan pencerahannya saya ucapkan terima kasih.
> >
> > NB.
> > Berikut adalah sintak yang saya coba
> >
> > 1. Buat tabel dan mendefinisikan constraint
> > SQL> CREATE TABLE MASTER_BARANG
> > 2 (KODE_BRG NUMBER(4) PRIMARY KEY,
> > 3 NAMA_BRG VARCHAR2(20) NOT NULL,
> > 4 HARGA NUMBER(10),
> > 5 STOCK NUMBER(4));
> > Table created.
> >
> > SQL> CREATE TABLE ORD
> > 2 (NO_ORDER NUMBER(4) PRIMARY KEY,
> > 3 ID_SUPPLIER NUMBER(4) NOT NULL,
> > 4 TGL_ORDER DATE,
> > 5 RP_TOTAL NUMBER(12));
> > Table created.
> >
> > SQL> CREATE TABLE ORDER_DETAIL
> > 2 (NO_ORDER NUMBER(4) REFERENCES ORD(NO_ORDER) ,
> > 3 NO_URUT NUMBER(3),
> > 4 KODE_BRG NUMBER(4) REFERENCES MASTER_BARANG( KODE_BRG) ,
> > 5 HARGA NUMBER(10),
> > 6 QTY NUMBER(4),
> > 7 SUBTOTAL NUMBER(10));
> > Table created.
> >
> > SQL> CREATE TABLE SALES
> > 2 (NO_SALES NUMBER(4) PRIMARY KEY,
> > 3 ID_CUST NUMBER(4) NOT NULL,
> > 4 TGL_SALES DATE,
> > 5 RP_TOTAL NUMBER(12));
> > Table created.
> >
> > SQL> CREATE TABLE SALES_DETAIL
> > 2 (NO_SALES NUMBER(4) REFERENCES SALES(NO_SALES) ,
> > 3 NO_URUT NUMBER(3),
> > 4 KODE_BRG NUMBER(4) REFERENCES MASTER_BARANG( KODE_BRG) ,
> > 5 HARGA NUMBER(10),
> > 6 QTY NUMBER(4),
> > 7 SUBTOTAL NUMBER(10));
> > Table created.
> >
> > 2. Membuat Trigger Database
> >
> > SQL> CREATE OR REPLACE TRIGGER update_STOCK_ brg_ord
> > 2 BEFORE INSERT OR UPDATE OF QTY ON order_detail
> > 3 FOR EACH ROW
> > 4 BEGIN
> > 5 IF NVL(:OLD.QTY, 0) < NVL(:NEW.QTY, 0) THEN
> > 6 UPDATE MASTER_BARANG
> > 7 SET STOCK = STOCK + (NVL(:NEW.QTY, 0)-NVL(:OLD. QTY,0))
> > 8 WHERE KODE_BRG = :NEW.KODE_BRG;
> > 9 ELSE
> > 10 UPDATE MASTER_BARANG
> > 11 SET STOCK = STOCK - (NVL(:OLD.QTY, 0)-NVL(:NEW. QTY,0))
> > 12 WHERE KODE_BRG = :NEW.KODE_BRG;
> > 13 END IF;
> > 14 END;
> > 15 /
> > ORA-01031: insufficient privilages
> >
> > SQL> CREATE OR REPLACE TRIGGER update_STOCK_ brg_sales
> > 2 BEFORE INSERT OR UPDATE OF QTY ON sales_detail
> > 3 FOR EACH ROW
> > 4 BEGIN
> > 5 IF NVL(:OLD.QTY, 0) < NVL(:NEW.QTY, 0) THEN
> > 6 UPDATE MASTER_BARANG
> > 7 SET STOCK = STOCK - (NVL(:NEW.QTY, 0)-NVL(:OLD. QTY,0))
> > 8 WHERE KODE_BRG = :NEW.KODE_BRG;
> > 9 ELSE
> > 10 UPDATE MASTER_BARANG
> > 11 SET STOCK = STOCK + (NVL(:OLD.QTY, 0)-NVL(:NEW. QTY,0))
> > 12 WHERE KODE_BRG = :NEW.KODE_BRG;
> > 13 END IF;
> > 4 END;
> > 15 /
> > ORA-01031: insufficient privilages
> >
> > [Non-text portions of this message have been removed]
> >
> >
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
> [Non-text portions of this message have been removed]
>
>
>
>
>
>
>
> [Non-text portions of this message have been removed]
>
>
>
> ------------------------------------
>
> --
> -----------I.N.D.O - O.R.A.C.L.E---------------
> Keluar: [email protected]
> Website: http://indooracle.wordpress.com
> http://www.facebook.com/group.php?gid=51973053515
> -----------------------------------------------
>
> Bergabung dengan Indonesia Thin Client User Groups,
> Terminal Server, Citrix, New Moon Caneveral, di:
> http://indo-thin.blogspot.comYahoo! Groups Links
>
>
>
>


[Non-text portions of this message have been removed]

Kirim email ke