Terima kasih atas bantuannya mbak Intan.
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: Intan <[email protected]>
To: [email protected]
Sent: Mon, February 8, 2010 7:56:22 PM
Subject: Re: [indo-oracle] Tanya Trigger n save

Coba cek dulu apa user tersebut sudah punya akses untuk create Triger atau
belum


2010/2/9 Del Ester <[email protected]>

>
>
> 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]
>
>  
>


[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