luckys 0 Report post Posted October 17, 2010 Assalamualaikum n Salam Sejahtera semua.. Sy nak minta tolong ckit.. sy develop a system gune [color="#006400"]Netbean(JAVA)[/color] and [color="#008000"]Oracle 10g(database)[/color].. sy pon tak sure soklan sy ni berkaitan dgn programming o database.. 1) In database, cthnye sy ade 1 table ORDER yang simpan sume information mengenai order tersebut.. a customer can make many order, but just one order/item.. boleh bg idea tak cmne nak buat sekatan supaya customer hanya boleh order 1 jenis brg untuk 1 kategori(cth kerusi ade byk jenis, customer boleh order 1 je kerusi, tp die boleh order barg utk kategori lain spt meja, almari ... ) 2) untuk table ORDER tu ade order_id, kurang bgus klw staff or spe2 yang kne masukkan order-id tu kan.. Ok tak klw sy wat auto-increment utk order_id tu?cthnye: 00001 then auto-increment by 1.. tp cmne nak wat yeh? atau pon ade cadangan lain yang lebih bgus.. Terima Kasih utk pertolongan dan perhatian sume yeh.. really appreciate it!! Quote Share this post Link to post Share on other sites
apis_ff 5 Report post Posted October 18, 2010 1) buat kod untuk setiap kategori barang tersebut. Yang ni mungkin kena main dengan nested if. Kesimpulan, a)select id_customer,name,kod_brg,kod_katbrg from table_name where id_customer='id_customer' b)if kod_katbrg tiada dalam list data where id_customer='id_customer', buat sql insert statement. c)if kod_katbrg ada dalam list data where id_customer='id_customer', buat sql update statement. 'update table_name set kod_brg='kod' where id_customer='id_customer' and kod_katbrg='kodkat'. 2) auto increment ni memang boleh buat. dalam oracle ada bahagian 'sequence'. bende ni memang popular untuk buat auto-incrrement mengikut teknik2 tertentu. tp saya tak pandai nak terangkan. cuba try tanya pakcik google.. Quote Share this post Link to post Share on other sites
luckys 0 Report post Posted October 18, 2010 [quote name='apis_ff' date='18 October 2010 - 09:45 AM' timestamp='1287366319' post='1050528'] 1) buat kod untuk setiap kategori barang tersebut. Yang ni mungkin kena main dengan nested if. Kesimpulan, a)select id_customer,name,kod_brg,kod_katbrg from table_name where id_customer='id_customer' b)if kod_katbrg tiada dalam list data where id_customer='id_customer', buat sql insert statement. c)if kod_katbrg ada dalam list data where id_customer='id_customer', buat sql update statement. 'update table_name set kod_brg='kod' where id_customer='id_customer' and kod_katbrg='kodkat'. 2) auto increment ni memang boleh buat. dalam oracle ada bahagian 'sequence'. bende ni memang popular untuk buat auto-incrrement mengikut teknik2 tertentu. tp saya tak pandai nak terangkan. cuba try tanya pakcik google.. [/quote] thank u apis_ff.. really appreciate your help.. Quote Share this post Link to post Share on other sites
luckys 0 Report post Posted October 18, 2010 Sy dah jumpe yang create sequence tu, cume tak paham, cm ne nak relate kan sequences tu ngan column ORDER_ID kat table ORDER tu, sbb ia berada di tempat yang berasingan kan.. Quote Share this post Link to post Share on other sites
apis_ff 5 Report post Posted October 18, 2010 (edited) ha ah.. bende tu memang berasingan.. nak buat auto increment guna sequence ada 2 cara yang saya tau, dimana a ) guna bahagian triger untuk run kan sequence tersebut bila data masuk ke dalam table.. contoh ada 2 columm dlm satu table(order_id,order_ketbarang).. bila data dimasukkan ke columm 'order_ketbarang', automatik columm 'order_id' akan generate sendiri id tersebut(data auto masuk).Tapi kalau nak buat cara macam ni, anda kena godek pasal 'triger' pula. b ) guna sql select statement untuk panggil 'sequence' tersebut, contoh statement : 'SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(nama_sequence.nextval,4,'0') AS ORDERID FROM DUAL'. bila nak buat sql insert statement, panggil data 'ORDERID' daripada select statement di atas. 'insert into nama_table(order_id,order_ketbarang) values ('<panggil nilai ORDERID drp select diatas>','nilai_ketbarang')' Edited October 18, 2010 by apis_ff Quote Share this post Link to post Share on other sites
luckys 0 Report post Posted October 29, 2010 [quote name='apis_ff' date='18 October 2010 - 09:19 PM' timestamp='1287407951' post='1050574'] ha ah.. bende tu memang berasingan.. nak buat auto increment guna sequence ada 2 cara yang saya tau, dimana a ) guna bahagian triger untuk run kan sequence tersebut bila data masuk ke dalam table.. contoh ada 2 columm dlm satu table(order_id,order_ketbarang).. bila data dimasukkan ke columm 'order_ketbarang', automatik columm 'order_id' akan generate sendiri id tersebut(data auto masuk).Tapi kalau nak buat cara macam ni, anda kena godek pasal 'triger' pula. b ) guna sql select statement untuk panggil 'sequence' tersebut, contoh statement : 'SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(nama_sequence.nextval,4,'0') AS ORDERID FROM DUAL'. bila nak buat sql insert statement, panggil data 'ORDERID' daripada select statement di atas. 'insert into nama_table(order_id,order_ketbarang) values ('<panggil nilai ORDERID drp select diatas>','nilai_ketbarang')' [/quote] tq so much apis...=) Quote Share this post Link to post Share on other sites
DevGuy 0 Report post Posted November 1, 2010 kenapa kena buat dekat database layer sedangkan leh buat kat coding layer i mean kat netbean tu terus. walaupun aku tak suka java ni tapi basic programming semua sama. adalah baik kitabuat kat programming side utk blok dari order 2 benda dari kategori yang sama. kan senang Quote Share this post Link to post Share on other sites
biskut merry 1 Report post Posted November 5, 2010 salam, untuk auto increment, boleh guna trigger menggunakan PL/SQL. slalunya sy akan create trigger yg akan run bila insert new record kat dalam table. kalau oracle, kalau xsilap sy ade: before ------ insert - run before insert new record update - run before edit the record delete - run before delete any record after ------ insert - run after insert new record update - run after edit the record delete - run after delete any record so kalau nk buat auto increment tu, ble la gune trigger ni. ble google untuk penerangan lanjut. Quote Share this post Link to post Share on other sites
luckys 0 Report post Posted November 13, 2010 (edited) [quote name='biskut merry' date='05 November 2010 - 03:33 PM' timestamp='1288942381' post='1052392'] salam, untuk auto increment, boleh guna trigger menggunakan PL/SQL. slalunya sy akan create trigger yg akan run bila insert new record kat dalam table. kalau oracle, kalau xsilap sy ade: before ------ insert - run before insert new record update - run before edit the record delete - run before delete any record after ------ insert - run after insert new record update - run after edit the record delete - run after delete any record so kalau nk buat auto increment tu, ble la gune trigger ni. ble google untuk penerangan lanjut. [/quote] tq biskut Merry(sedapnye klw cecah ngan air kopi..heheh) sy wat sequence yang bese je.. Mase nak create table tu, mase nak assign primary key tu, just check kat "Populated from a new sequence", then oracle wat kan ikut default.. (sy tak expert sgt, so gune yang default je..hihih) Anyway, thanks yeh info tu, boleh tambah ilmu..=)[quote name='DevGuy' date='01 November 2010 - 09:43 AM' timestamp='1288575816' post='1051956'] kenapa kena buat dekat database layer sedangkan leh buat kat coding layer i mean kat netbean tu terus. walaupun aku tak suka java ni tapi basic programming semua sama. adalah baik kitabuat kat programming side utk blok dari order 2 benda dari kategori yang sama. kan senang [/quote] yes, yang utk blok tu mmg men ngan programing.. cume yang men ngan db, yang nak wat auto increment tu..TQ semua yang respond.. really appreciate it.. Perkembangan sekarang, Alhamdulillah yang auto increment tu, dah boleh tp pkai default setting je.. klw ade yang advance tu sy xtau r cmne kan... sekarang tgh usaha untuk blok/filter, supaya org yang sme x blh bli lbh dr 1 brg yang sme... sy tgh cube based on respond2 yang ade kt cni.. time kasih yeh.. klw ade idea boleh teruskan respond k..=) Edited November 13, 2010 by luckys Quote Share this post Link to post Share on other sites
biskut merry 1 Report post Posted November 13, 2010 hi, hehe..memang sodap le dpt cicah air..hehe ok2 xde hal..tp klu adee ms try r tngk2 pasal trigger tu..byk bnda dpt wat klu gune trigger tu. bkn satakat auto increment je, ko nk manipulate data sebelom dan selepas insert/update/delete pn ble. Quote Share this post Link to post Share on other sites
luckys 0 Report post Posted November 13, 2010 [quote name='biskut merry' date='14 November 2010 - 06:53 AM' timestamp='1289688829' post='1053322'] hi, hehe..memang sodap le dpt cicah air..hehe ok2 xde hal..tp klu adee ms try r tngk2 pasal trigger tu..byk bnda dpt wat klu gune trigger tu. bkn satakat auto increment je, ko nk manipulate data sebelom dan selepas insert/update/delete pn ble. [/quote] mmg sodap.. kne plak di waktu petang.. sllluuurrrpppp!! huhuh yeh.. orait, byk lagi aku kne belajar ni.. tqvm!! Quote Share this post Link to post Share on other sites