Terima kasih responnya sdr. NurAbbas & Wahyu K

> [EMAIL PROTECTED] wrote:
> Kalau hanya nampilkan data saja pakai UNION, kalau 
>update data pakai 
> pipeline dg pilihan Insert/Update

Datanya mau saya update. sebenarnya tadinya saya sdh pake 
pipeline hanya pada saat dijalankan ditegur "memory tdk 
mencukupi". sample tbl_AA & tbl_XX hanya contoh data 
sederhana. Data yg mau dikelola sekitar +/- 150.000 data.
pipelinenya sbb :

datastore lds_error
pipeline p_proses
transaction SQLCA_Sumber, SQLCA_Target
lds_error = create datastore
//database sumber
SQLCA_Sumber= create transaction
// Profile Pdam
SQLCA_Sumber.DBMS = "ODBC"
SQLCA_Sumber.AutoCommit = False
SQLCA_Sumber.DBParm = "Connectstring='DSN=Server_AA"
connect using SQLCA_Sumber;

// Database tujuan
SQLCA_Target = create transaction
// Profile History
SQLCA_Target.DBMS = "ODBC"
SQLCA_Target.AutoCommit = False         
SQLCA_Target.DBParm = "Connectstring='DSN=Server_XX'"
connect using SQLCA_Target;
        
p_proses=create pipeline
        
dw_ml.SetTransObject(sqlca)
dw_mlb.SetTransObject(sqlca)

// Proses PipeLine              
p_proses.dataobject="pl_hist_master"
p_proses.start(SQLCA_Sumber, SQLCA_Target, lds_error)
.....
.....

Destroy p_proses
Destroy SQLCA_Sumber
Destroy SQLCA_Target

mungkin ada sarannya pak NurAbbas.

//----------------------------------------------------------------------------
On Sat, 2 Apr 2005 20:33:59 -0800 (PST)
  Wahyu Kurniawan <[EMAIL PROTECTED]> wrote:
> 
> Coba seperti ini:
> if exists(select tbl_aa.id from tbl_aa where tbl_aa.id 
>in (select tbl_xx.id from tbl_xx)
> (perintah update dalam sql statement)
> go
> 
> if not exists(select tbl_aa.id from tbl_aa where 
>tbl_aa.id in (select tbl_xx.id from tbl_xx)
> (perintah insert dalam sql statement)
> go
> 
> semoga membantu
> 
> Wahyu Kurniawan, A.Md. 
> HP    : 08561884559

Pak Wahyu...
saya coba buat Store Procedure sbb :
ALTER PROCEDURE upd_inst_tabel()
BEGIN
  DECLARE idbrg INT;
  DECLARE nmbrg CHAR(30);
  DECLARE qty   INT;
  DECLARE rowcount    BIGINT;
  DECLARE jdata  BIGINT;
                
  DECLARE cursor_tbl CURSOR FOR
  SELECT idbarang, namabarang, quantity FROM mstbarang;
                
   SELECT COUNT (idbarang) Into jdata FROM mstbarang;
        
   OPEN cursor_tbl;

   SET rowcount = 1;
   WHILE ( rowcount <= jdata ) LOOP
        FETCH NEXT  cursor_tbl Into idbrg, nmbrg, qty;
        IF NOT EXISTS (SELECT idbarang, namabarang, 
quantity FROM mstbarang_hist Where idbarang = idbrg) THEN

IF SQLCODE <> 0 then
BEGIN
INSERT INTO mstbarang_hist (idbarang, namabarang, 
Quantity)
VALUES (idbrg, nmbrg, qty);
END
ELSE
BEGIN
UPDATE mstbarang_hist  SET idbarang = idbrg,   namabarang 
= nmbrg,   Quantity= qty;
END
END IF;

SET rowcount = rowcount + 1;
END LOOP;
   COMMIT;
CLOSE cursor_tbl;

END


sp diatas ditegur Unique Keynya di table mstbarang_hist.
mohon koreksi.


Terima Kasih
Salam
PemulaPB.


========================================================================================
Akses Internet TELKOMNet-Instan beri Diskon s.d. 50 % khusus untuk wilayah Jawa 
Timur.
Informasi selengkapnya di www.telkomnetinstan.com atau hub 0800-1-INSTAN 
(467826)
========================================================================================
 


-----------------------------------------------
 INDOPB TURUT BERDUKA CITA UNTUK ACEH & SUMUT 
-----------------------------------------------
IndoPB - Indonesia PB User Group 
To Post a message, send it to: [EMAIL PROTECTED]
To Unsubscribe,send a blank message to: [EMAIL PROTECTED] 
Yahoo! Groups Links

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

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