Langsung ke konten utama

Procedure di Mysql

Hari Rabu kemarin, saya dapat tugas dari bos. Dimintai tolong untuk insert record dalam jumlah yang cukup besar. Untungnya, record yang disuruh insert ini sifatnya incremental dan ada juga yang sama isinya.

Sudah cukup lama juga ga berinteraksi dengan database, apalagi saya juga biasanya menggunakan database mysql. setelah buka-buka primbon manualnya mysql dan setelah googling sana sini, akhirnya ide untuk memasukka recordnya pun terwujud.

Pada tutorial ini, yang digunakan adalah model looping. Metoda looping yang digunakan adalah menggunakan while, dan repeat. untuk yang pertama, saya menggunakan while, dan untuk task yang kedua menggunakan repeat. Sengaja saya coba 2 cara ini, sekalian belajar procedure mysql, dan juga sekalian melatih scripting yang sudah mulai lupa-lupa ingat :)


  • Menggunakan while. Pada task ini, idenya adalah, saya ingin menambahkan suatu nomer msisdn berdasarkan range. range nya diketahui yaitu dari 628xxy000000 - 628xxy999999. kalau dumasukkan satu demi satu, tentu cukup repot, karena jumlah yang harus dimasukkan ke db termasuk sangat banyak. untuk algoritma procedure nya adalah sebagai berikut:

delimiter $$
create procedure add_msisdn()
                begin
                    declare a int default 1;
                    simple_loop:LOOP
                      insert into t_msisdn values('628xxy000000'+a);
                      set a=a+1;
                      if a=999999 then
                         LEAVE simple_loop;
                      end if;
                end LOOP simple_loop;
end $$

  • Ide selanjutnya adalah menggunakan repeat. ide nya kurang lebih sama. tapi ini hanya insert biasa dengan nilai value yang sama. berikut ini kodenya :
delimiter $$
drop procedure if exists repeat_loop_proc$$
create procedure repeat_loop_proc()
    begin
        declare a int;
        set a = 0;
        repeat
            insert into t_msisdn (no_msisdn) values('628388000692');
            set a = a+1;
        until a = 3465155 end repeat;       
    end$$ 
  • Cara memanggil procedurenya. setelah procedure dibuat, langkah selanjutnya adalah bagaimana mengeksekusi procedure tersebut. caranya adalah :
CALL nama_procedure()

contohnnya :
CALL repeat_loop_proc()
CALL add_msisdn()
 Demikian share ilmu kali ini. semoga bermanfaat :)

Komentar

Postingan populer dari blog ini

Menggunakan Modem ZTE MF 622 di Ubuntu

Setelah beberapa waktu lalu saya berhasil mengutak atik modem huawei 620, Sekarang saya akan menuliskan bagaimana menggunakan modem zte mf 622 di linux. Kebetulan, linux yang saya gunakan kali ini adalah Ubuntu 8.10. Mungkin lain waktu, saya akan mencoba langkah-langkah pada tulisan ini di Fedora (sebenernya, saya lebih terbiasa dengan Fedora daripada Ubuntu), namun karena ingin mencoba distro yang digadang-gadangkan banyak komunitas sebagai distro termudah, dan terbanyak penggunanya, maka saya pun akhirnya tak dapat menahan rayuan untuk mencoba ubuntu versi terbaru ini. Oh ya, sebelumnya, saya menggunakannya di laptop saya, acer aspire 4520. dan ini adalah foto dari modem saya OK, segera kita mulai. Untuk menggunakan modem ZTE MF 622 ini, tidak banyak aplikasi yang dilibatkan. Aplikasi yang dibutuhkan antara lain wvdial, dmesg, pptp. * wvdial ini digunakan untuk memudahkan kita menggunakan modem ini. * dmesg digunakan untuk memeriksa message pada kernel apakah ketika modem ditancapkan...

Bind DNS Graph in Cacti

In My Previous tutorial, Menampilkan hasil DNS query pada cacti I tried to graph my bind dns server in cacti. At the moment, I usedBind version 4.3. By the time, ISC (Consorcium that create bind) always update this software. Usually, they update because of found bug, improve perfomance, hardware support, and other. Until now, Bind version is 10. but currently, I still use bind 9.8. it seems that, after bind 9.4, ISC change mayor update in thebind version. because of this, my tutorial for bind 9.3.4 did not compatible anymore for latest bind. I have tried to search in internet,googling, find the forum, but still not successfull.  And fortunately, 5 days ago, I tried to access cacti forum. found the new way to graph new bind version in cacti. for the forum, you can see at this link : http://forums.cacti.net/viewtopic.php?f=12&t=45926&start=0 Because of my couriousity, I tried to make graph my bind. Oh ya, I run my dns server in Linux (RHEL 5.5) I think ou can run...

Cara membangun DNS Filter (mari berantas pornografi)

Kebutuhan : 1. dns server, pilihan yang baik menggunakan powerdns, karena saya rpm base, maka silakan di download di : http://downloads.powerdns.com/releases/rpm/pdns-static-2.9.22-1.i386.rpm download powerdns sebagai authoritative server 2. linux box, pastinya. 3. database situs-situs yang ingin di blok, bisa didownload di http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblacklist pilih situs porno 4. web server saya asumsikan di sini, kita akan menyimpan databasenya dalam bentuk file. powerdns bisa menyimpannya dalam database, salah satu yang telah saya coba adalah mysql. namun pada tutorial ini, yang saya bahas adalah menggunakan file. di dalam database tersebut, terdapat kategori porn, nah pilih kategori tersebut. lalu pilih file domain. ide dari dns filtering ini adalah "memaksa" suatu domain, katakanlah situs porno tadi, ke suatu ip yang telah kita assign. ip tersebut, bisa di server dns filter ini. misalnya dns filter...