Maaf baru balas (habis ada tugas luar, messege saya
resume)
Thx atas sharingnya Pak Ferry.
Terus terang justru saya sedang kesulitan bagaimana
script buat PL/SQL nya, yang bisa mengupdate secara
langsung Tabel TRANSAKSI dengan referensi Tabel
UPDATE.
Perlu diketahui juga bahwa tidak semua data di Tabel
TRANSAKSI ada di Tabel UPDATE jadi hanya yang masuk
Tabel UPDATE saja yang dirubah (ini hanya saya ambil
contoh 1 tabel yang di update, padahal saya akan
update 5 tabel dengan kondisi/referensi yang sama).
Saya tunggu tanggapannya.

Regards,

 Andi


Message: 5         
   Date: Wed, 29 Jun 2005 11:19:57 +0700
   From: "Ferry" <[EMAIL PROTECTED]>
Subject: Re: Re: Minta bantuan SQL

Lanjutan....
Untuk mengupdate secara langsung di Tabel Transaksi
dapat digunakan dengan PL/SQL,
namun perlu kode untuk menDELETE row yang sudah diSUM.

Cara lain dengan perintah SQL:
1. buat copy tabel Transaksi dengan
   CREATE TABLE transaksi_bak AS SELECT * FROM
transaksi;
2. Jalankan DROP TABLE TRANSAKSI PURGE;
(Hindari DROP TABLE TRANSAKSI CASCADE CONSTRAINTS
PURGE;)
Perintah ini gagal jika ada tabel lain yang
mereferensi tabel Transaksi shg harus diputuskan dulu
constraint foreign key yang ada.

3.
CREATE TABLE transaksi AS
SELECT t.NO_TRX , u.KD_BRG_N, t.DATE_TRX, SUM(t.qty)
qty
  FROM  transaksi t, updateku u
  WHERE t.kd_brg = u.kd_brg_O
  GROUP BY t.NO_TRX , u.KD_BRG_N, t.DATE_TRX
order by 1;

4. Buat indeks dan constraints serta buat kembali
foreign key yang 
telah
diputuskan pada
langkah 2.


regs,
ferry.

Message: 4         
   Date: Wed, 29 Jun 2005 10:04:04 +0700
   From: "Ferry" <[EMAIL PROTECTED]>
Subject: Re: Re: Minta bantuan SQL

Tabel TRANSAKSI
------------------------------
NO_TRX KD_BRG   DATE_TRX   QTY
------------------------------
005    CPU-1    06/23/2005  1
003    CPU1    05/25/2005 2
003    CPU     05/28/2005 3      
002    MNTR1    05/30/2005  1
004    MNTR-1   05/25/2005  2
006    MNTR 1   05/20/2005  3


Tabel UPDATE
------------------
KD_BRG_O KD_BRG_N
------------------
CPU-1   CPU 1
CPU1    CPU 1
CPU     CPU 1
MNTR1   MNTR 1
MNTR-1  MNTR 1
MNTR 1  MNTR 1

Tabel TRANSAKSI yg diharapkan
-----------------------------
NO_TRX KD_BRG DATE_TRX   QTY
-----------------------------
005    CPU 1  06/23/2005 1
003    CPU 1  05/25/2005 5  
002    MNTR 1 05/30/2005 1
004    MNTR 1 05/25/2005 2
006    MNTR 1 05/20/2005 3

Asumsi Saya: Untuk setiap NO_TRX memiliki DATE_TRX
yang sama

create table TRANSAKSI (  
NO_TRX varchar2(3),  
KD_BRG   VARCHAR2(6),  
DATE_TRX   DATE,  
QTY NUMBER);

alter session set nls_date_format = 'mm/dd/rrrr';
INSERT INTO TRANSAKSI VALUES('005', 'CPU-1'
,'06/23/2005',1);
INSERT INTO TRANSAKSI VALUES('003', 'CPU1' 
,'05/25/2005',2);
INSERT INTO TRANSAKSI VALUES('003', 'CPU'  
,'05/25/2005',3);
INSERT INTO TRANSAKSI VALUES('002', 'MNTR1'
,'05/30/2005',1);
INSERT INTO TRANSAKSI VALUES('004',
'MNTR-1','05/25/2005',2);
INSERT INTO TRANSAKSI VALUES('006', 'MNTR
1','05/20/2005',3);

create table UPDATEKU (KD_BRG_O VARCHAR2(6),KD_BRG_N 
VARCHAR2(6));
INSERT INTO updateku values('CPU-1', 'CPU 1');
INSERT INTO updateku values('CPU1', 'CPU 1');
INSERT INTO updateku values('CPU', 'CPU 1');
INSERT INTO updateku values('MNTR1', 'MNTR 1');
INSERT INTO updateku values('MNTR-1', 'MNTR 1');
INSERT INTO updateku values('MNTR 1', 'MNTR 1');

SQL> SELECT * FROM TRANSAKSI ;
NO_ KD_BRG DATE_TRX          QTY
--- ------ ---------- ----------
005 CPU-1  06/23/2005          1
003 CPU1   05/25/2005          2
003 CPU    05/25/2005          3
002 MNTR1  05/30/2005          1
004 MNTR-1 05/25/2005          2
006 MNTR 1 05/20/2005          3

SQL> SELECT * FROM updateku;

KD_BRG KD_BRG
------ ------
CPU-1  CPU 1
CPU1   CPU 1
CPU    CPU 1
MNTR1  MNTR 1
MNTR-1 MNTR 1
MNTR 1 MNTR 1

SQL> SELECT t.NO_TRX , u.KD_BRG_N, t.DATE_TRX,
SUM(t.qty) qty 
  2    FROM  transaksi t, updateku u
  3    WHERE t.kd_brg = u.kd_brg_O 
  4    GROUP BY t.NO_TRX , u.KD_BRG_N, t.DATE_TRX 
  5  ORDER BY 1;

NO_ KD_BRG DATE_TRX          QTY
--- ------ ---------- ----------
002 MNTR 1 05/30/2005          1
003 CPU 1  05/25/2005          5
004 MNTR 1 05/25/2005          2
005 CPU 1  06/23/2005          1
006 MNTR 1 05/20/2005          3



semoga membantu,
ferry


----- Original Message ----- 
From: "Jack Mania" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, June 28, 2005 3:26 PM
Subject: [indo-oracle] Re: Minta bantuan SQL


RESEND

Please help me...

--- Jack Mania <[EMAIL PROTECTED]> wrote:
 
Hallo teman indo-oracle semua, saya minta
sharingnya.
misalnya saya punya Tabel TRANSAKSI
NO_TRX KD_BRG DATE_TRX     QTY
------ ------ ------------ ---
005    CPU-1  06/23/2005   1
003    CPU1   05/25/2005   2
003    CPU    05/28/2005   3      
002    MNTR1  05/30/2005   1
004    MNTR-1 05/25/2005   2
006    MNTR 1 05/20/2005   3

dan tabel UPDATE
KD_BRG_O KD_BRG_N
-------- --------
CPU-1    CPU 1
CPU1     CPU 1
CPU      CPU 1
MNTR1    MNTR 1
MNTR-1   MNTR 1
MNTR 1   MNTR 1
 
Pertanyaan saya gimana perintah SQL/Procedure untuk 
mengupdate KD_BRG di tabel TRANSAKSI sesuai dengan
yang ada di tabel UPDATE (KD_BRG_N).
Dan ini dengan syarat jika NO_TRX sama maka QTY akan
di jumlah dalam satu record sedangkan recod yang
satunya
akan dihapus.
Terima kasih atas abntuannya.
 
Regards,
 
 Andi

NB:
Output yang saya minta spt berikut :
Tabel TRANSAKSI
NO_TRX KD_BRG DATE_TRX    QTY
------ ------ ----------  ---
005    CPU 1  06/23/2005  1
003    CPU 1  05/25/2005  5  
002    MNTR 1 05/30/2005  1
004    MNTR 1 05/25/2005  2
006    MNTR 1 05/20/2005  3


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


--
-----------I.N.D.O - O.R.A.C.L.E---------------
Keluar: [EMAIL PROTECTED]
Website: http://indo-oracle.blogspot.com
-----------------------------------------------

Bergabung dengan Indonesia Thin Client User Groups, 
Terminal Server, Citrix, New Moon Caneveral, di:
http://indo-thin.vze.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/indo-oracle/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Kirim email ke