Asumsi pake Oracle Form Developer (CMIIW)
1. Proses normal insert di Form Builder, posting ke database tapi 
database belum berubah sampai dilakukan commit.
2. Insert dilakukan per row, jadi seharusnya berurutan (berdasarkan rowid).
3. Sebaiknya di set di level database saja
ALTER TABLE table_name ADD (
CONSTRAINT unique_constraint_name UNIQUE(field_name))
Jadi record kembar akan ditolak proses insert-nya ke database.
Jika tetap ingin dilakukan di level aplikasi (performance akan menurun) 
bisa dilakukan dengan cara:
- lakukan commit untuk setiap record yg diinsert, validasi new record 
dengan membandingkannya pada record sebelumnya melalui satement SELECT..INTO
- jika tanpa commit per record, paksa kursor untuk berpindah dari satu 
record ke record lainnya (hanya u/ navigable item) untuk menguji 
kesamaan nilainya dengan new record. Untuk perpindahan kursor bisa 
gunakan built-in NEXT_RECORD a/ PREVIOUS_RECORD dan untuk pengambilan 
nilai bisa gunakan built-in COPY a/ :SYSTEM.CURSOR_VALUE.
Untuk mencegah Form Builder menjalankan proses selanjutnya jika kondisi 
tidak sesuai tambahkan statement
RAISE FORM_TRIGGER_FAILURE

hth,
AH

abe ashfi wrote:
>
> dear oracle lovers..
>
> mau tanya dunk..
>
> table detil_pembelian
> -------------------
> pembelian_id number --> primary key ---> dari
> sequence
> kd_part varchar2(50)
> description varchar2(240)
> qty number;
>
> misalkan datanya :
>
> pembelian_id kd_part description qty
> ===============================================
> 1 123456789 part1 3
> 2 123478945 part2 2
> 3 456789456 part3 5
> 4 456878994 part4 3
> 5 456878994 part4 4
>
> 1.gimana sie oracle punya cara untuk proses insert ?
> 2.apa pada saat insert, setiap record
> masuk ke database secara berurutan(sebelum commit)?
> 3.saya mau buat procedure untuk ngecek. dimana dari
> data tersebut ada kd_part yg sama. jadi dia ngecek
> ada kd_part yg sama atau tidak.(jadi kd_part itu
> bisa bersifat unique untuk 1 pembelian, walaupun
> bukan primary-key)
> ditrigger apa ya untuk bisa ngecek per record itu?
> (saya pake pre-insert/when-validate-record kok gak
> bisa)
>
> mohon ya..
>
> thank's b4
>
> __________________________________________________________
> Need a vacation? Get great deals
> to amazing places on Yahoo! Travel.
> http://travel.yahoo.com/ <http://travel.yahoo.com/>
>
>  

Kirim email ke