Akhwat

Akhwat
be a good muslim

Minggu, 23 Januari 2011

Kursor Eksplisit dan IMplisit

PL / SQL kursor ke catatan beberapa query menggunakan



Pertama, apa yang kursor

Oracle menggunakan dua kursor: kursor kursor eksplisit dan implisit.Tidak peduli berapa banyak catatan untuk kembali pernyataan, PL / SQL untuk penggunaan setiap SQL UPDATE, DELETE, dan INSERT perintah seperti pernyataan kursor implisit.(Laporan SQL untuk mengelola proses, harus definisi implisit dari kursor.) User dan menggunakan pernyataan kursor menangani pengembalian statemen SELECT multipel rekaman.Definisi kursor menampilkan struktur, yang memungkinkan pengguna untuk menentukan laporan area memori tertentu untuk digunakan nanti.

Kedua, peran kursor

Ketika PL / SQL kursor saat query kembali beberapa baris, yang dikenal sebagai kegiatan kelompok ini rekaman ditetapkan.Oracle set kegiatan Anda membuat tampilan disimpan dalam definisi kursor bernama.kursor Oracle adalah menangani mekanisme mudah untuk data multi-line, tidak ada kursor, pengembang Oracle harus individual, eksplisit dan mengelola query kursor untuk mengambil setiap record yang dipilih.

Fungsi lain dari hal kursor, itu termasuk track record pointer akses saat ini, yang membuat program anda dapat menangani lebih dari satu record.

Ketiga, metode dasar menggunakan kursor

Sebagai berikut:

1, deklarasi kursor

Sintaks deklarasi kursor adalah sebagai berikut:

MENYATAKAN cursor_name

Apakah

Pernyataan SELECT

Yang, cursor_name yang Anda tentukan nama kursor; statemen SELECT dikembalikan ke query rekor kursor aktif.

deklarasi Cursor menyelesaikan dua tujuan berikut:

Untuk nama kursor;

Akan mengaitkan pertanyaan dengan kursor.

Perlu dicatat bahwa harus PL / SQL blok deklarasi kursor bagian dari pernyataan itu, untuk menentukan nama kursor adalah undeclared identifier, bukan PL / SQL nama variabel tidak dapat ditugaskan untuk kursor, juga tidak dapat digunakan dalamekspresi.PL / SQL block untuk menggunakan nama ini untuk referensi query kursor.

Contoh: MENYATAKAN

CURSOR c1

Apakah

SELECT VIEW_NAME DARI ALL_VIEWS

MANA rownum 10 =;

Anda juga dapat mendeklarasikan pernyataan kursor mendefinisikan parameter kursor, misalnya:

CURSOR c1 (melihat nomor _nbr)

Apakah

SELECT VIEW_NAME DARI ALL_VIEWS

WHERE rownum = view _nbr;

parameter Cursor hanya kursor sesuai yang terlihat, tidak bisa referensi kursor di luar parameter kursor.Jika Anda mencoba untuk melakukannya, Oracle akan mengembalikan kesalahan yang variabel tidak didefinisikan.

2, buka kursor

Buka kursor sintaks berikut:

TERBUKA cursor_name;

Cursor_name mana kursor adalah nama yang Anda ditetapkan sebelumnya.

Buka kursor akan mengaktifkan permintaan dan mengidentifikasi set aktif, tapi sebelum perintah dalam pelaksanaan kursor kembali dan tidak benar-benar mengambil catatan.TERBUKA perintah juga menginisialisasi pointer kursor ke titik ke set aktif dari record pertama.Kursor dibuka sampai dengan ditutupnya sebelum acara diatur untuk mengambil kembali semua data yang statis, dengan kata lain, mengabaikan semua kursor kursor terbuka setelah eksekusi dari perintah SQL DML data (INSERT, UPDATE, DELETE, dan SELECT).Oleh karena itu, buka hanya jika diperlukan, untuk me-refresh set aktif, cukup menutup dan membuka kembali kursor dapat.

3, untuk mengambil data dari kursor

perintah FETCH untuk mengambil setiap kali catatan cara kegiatan terkonsentrasi dalam catatan.perintah FETCH, dan biasanya beberapa jenis pengolahan iteratif digunakan dalam kombinasi, dalam pengolahan berulang, pelaksanaan perintah FETCH setiap waktu, pindahkan kursor ke set aktif dari record berikutnya.

FETCH perintah sintaks:

FETCH cursor_name KE record_list;

Yang, cursor_name adalah nama dari kursor yang didefinisikan di atas; record_list adalah daftar variabel, yang mengambil kegiatan terkonsentrasi pada kolom.perintah FETCH untuk menempatkan hasil set aktif variabel-variabel ini.

FETCH perintah pelaksanaan, kegiatan difokuskan pada hasil dibawa kembali ke PL / SQL variabel, sehingga PL / SQL blok.Setiap record diambil, kursor bergerak pointer ke acara berikutnya rekor.

Contoh:

FETCH C1 KE VNAME;

SAAT C1% DITEMUKAN LOOP

DBMS_OUTPUT.PUT_LINE (TO_CHAR (C1 ROWCOUNT%) | |''| | VNAME);

END LOOP;

Di antara mereka, penggunaan 'DITEMUKAN%' properti sehingga ketika set aktif mencapai akhir FETCH, tidak akan memunculkan eksepsi.atribut lainnya dan makna sebagai berikut:

Atribut konten

% DITEMUKAN Boolean properti, apabila hasil sukses terbaru dari catatan, nilai adalah TRUE

% NOTFOUND Boolean properti yang nilai dari nilai total properti dengan% berlawanan DITEMUKAN

% ISOPEN Boolean atribut, saat TRUE dikembalikan ketika kursor terbuka

% Numerik ROWCOUNT atribut, kembali dari kursor ke jumlah record dibaca

Atribut konten

% DITEMUKAN Boolean properti, apabila hasil sukses terbaru dari catatan, nilai adalah TRUE

% NOTFOUND Boolean properti yang nilai dari nilai total properti dengan% berlawanan DITEMUKAN

% ISOPEN Boolean atribut, saat TRUE dikembalikan ketika kursor terbuka

% Numerik ROWCOUNT atribut, kembali dari kursor ke jumlah record dibaca

4, tutup kursor

CLOSE pernyataan kursor menutup sebelum terbuka, membuat rangkaian peristiwa yang tidak pasti.Ketika pengguna program atau akhir sesi, Oracle implisit dekat kursor.Kursor tertutup, Anda tidak dapat melakukan apapun untuk itu, jika tidak terkecuali dilemparkan.

CLOSE sintaks pernyataan adalah:

cursor_name CLOSE;

Yang, cursor_name adalah nama dari kursor yang sebelumnya terbuka.

kode lengkap adalah sebagai berikut:

MENYATAKAN

CURSOR C1 IS VIEW_NAME SELECT DARI ALL_VIEWS

MANA rownum 10 =

ORDER BY VIEW_NAME;

VNAME VARCHAR2 (40);

BEGIN

OPEN C1;

FETCH C1 KE VNAME;

SAAT C1% DITEMUKAN LOOP

DBMS_OUTPUT.PUT_LINE (TO_CHAR (C1% ROWCOUNT )||''|| VNAME);

END LOOP;

END;

... ... CLOSE C1;

IV Ringkasan

Kursor adalah struktur dapat menangani catatan waktu query multi-line. Untuk setiap pernyataan DML menciptakan kursor implisit, sedangkan kursor secara eksplisit yang dibuat oleh user untuk proses pengembalian query multipel rekaman.Selain itu, dengan menghilangkan analisis ulang kode, kode kursor untuk meningkatkan kecepatan pemrosesan.

LOOP

Loop‐for bersarang

DECLARE
ctr INTEGER;
...
BEGIN
FOR step IN 1..25 LOOP
FOR step IN 1..10 LOOP
...
IF outer.step > 15 THEN ...
END IF;
END LOOP;
END LOOP outer;
END main;
Struktur Perulangan
• Pernyataan For ‐ Loop
– Struktur pengulangan For digunakan untuk
menghasilkan pengulangan sejumlah kali tanpa
penggunaan kondisi apapun.
– Bentuk umum struktur for ada dua macam yaitu :
menaik (ascending) atau menurun (descending).
FOR counter IN [REVERSE] i_terendah ..
i_teratas LOOP
Baris perintah
END LOOP;

For ‐ Loop
• Forward FOR
BEGIN
FOR x IN 1..10 LOOP
dbms_output.put_line(x= '||x);
END LOOP;
END;
• Reverse FOR
BEGIN
FOR x IN REVERSE 1..10 LOOP
dbms_output.put_line('x= '||x);
END LOOP;
END;


Struktur Perulangan
• Pernyataan While ‐ Loop

– Perintah WHILE‐LOOP akan terus melakukan
iterasi (memproses baris perintah secara
berulang) selama KONDISI bernilai TRUE. Bentuk
umum dari pernyataan LOOP sebagai berikut:
WHILE kondisi LOOP
//Baris perintah
END LOOP;

Contoh while‐loop
DECLARE
x number;
BEGIN
x := 0;
WHILE x <= 5 LOOP
x := x + 1;
dbms_output.put_line(‘x= '||x);
END LOOP;
END

Sabtu, 09 Oktober 2010

DBMS

Ehm,,,butuh tutorial DBMS,,,nie ada sedikit nie ...mudah2an sangat membantu

Rabu, 29 September 2010

Kuliahku

Assalamualaikum Ukhti / akhi
Ehm,karena blog nie baru buat makanya isinya yang pertama adalah tentang matakuliah Sistem Manajemen basis data alias mata kuliah yang mewajibkan mengumpulkan tugas lewat blog, jadi ketahuan dech kalau selama nie gak punya blog,,heheheh. Afwan

Oke dech,to the point aja
Nie ada tutorial tentang Basis Data,so baca – baca aja mungkin bermanfaat atau sekedar review pelajaran semester kemarin. Mungkin gak selengkap yang ukhti/akhi harapkan dan masih banyak kekurangan. Baca dengan baik – baik yach
Dalam Sistem manajemen Basis Data terdapat 3 (tiga) jenis SQL dan namanya gak asing lagi bagi kita, yaitu:
1. DDL atau Data Definition languange.
DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. perintah DDL adalah: CREATE, ALTER, RENAME, DROP
2 DML atau Data Manipulation Languange
DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. perintah DML antara lain: SELECT, INSERT, UPDATE, DELETE.
3. DCL atau Data Control Languange
DCL merupakan perintah SQL yang berhubungan dengan manipulasi user dan hak akses (priviledges). perintah SQL yang termasuk dalam DCL antara lain: GRANT, REVOKE. (disini sy belum membahas pada perintah DCL).
dah cukup ngutipnya mengena defisini, langsung sj gan:
1. membuat database
mysql>CREATE DATABASE latihan;
2. menghapus database
mysql>DROP DATABASE latihan;
3. menggunakan database/select database
mysql>USER latihan;
4. membuat tabel
mysql>CREATE TABLE mahasiswa (
-> NIM int(5) NOT NULL auto_increment,
-> nama varchar(40) NOT NULL,
-> jurusan varchar(35) NOT NULL,
-> PRIMARY KEY (NIM)
->);
note: disini sy membuat NIM sebagai kunci tamu atau primary key pada tabel mahasiswa.
5. melihat properti pada tabel
mysql>DESC mahasiswa;
atau
mysql>DESCRIBE mahasiswa;
6. perintah memasukkan record pada table
mysql>INSERT INTO mahasiswa VALUES ('','sulkifly','komputer akuntansi');
mysql>INSERT INTO mahasiswa VALUES ('','ilham su','sistem informasi');
mysql>INSERT INTO mahasiswa VALUES ('','rhizwadhye','sistem informasi');
mysql>INSERT INTO mahasiswa VALUES ('','rijal saja','teknik komputer');
note: sy mengosongkan pada field NIM, karena NIM adalah AUTO_INCREMENT menandakan bahwa dalam atribut tersebut akan secara otomatis menaik otomatis jika dimasukkan nilai "null"
7. menampilkan database
mysql>SELECT * FROM mahasiswa;
note:perintah ini akan menampilkan seluruh isi record
mysql>SELECT * FROM mahasiswa WHERE NIM=4;
note:menampilkan record berdasarkan urutan NIM
mysql>SELECT * FROM mahasiswa WHERE nama='ilham su';
note:menampilkan isi record berdasarkan nama
mysql>SELECT * FROM mahasiswa WHERE jurusan='sistem inforamsi';
note:menampilkan isi record berdasarkan jurusan
8. update isi tabel
mysql>UPDATE mahasiswa SET nama='bleh bleh' WHERE NIM=1;
musql>UPDATE mahasiswa SET jurusan='teknik komputer' WHERE NIM=2;
9. menghapus isi tabel
mysql>DELETE FROM mahasiswa WHERE NIM=4;
mysql>DELETE FROM mahasiswa WHERE jurusan='sistem informasi';

Memasukkan data ke dalam database
Dalam topik ini kita akan membuat kode untuk menyisipkan catatan baru ke dalam database MySQL kita. Hal ini sangat mirip dengan versi pilih.Juga dalam hal ini kita perlu membangun koneksi database dan kami akan menggunakan mysql_query () berfungsi lagi. Namun dalam kasus ini kita akan menggunakannya dengan pernyataan sql insert. Sekarang mari kita coba untuk memasukkan user baru ke meja kami.Pernyataan sql adalah sebagai berikut:

INSERT INTO users (name,city,web,age) VALUES ('Tom','Vegas','www.tom.com',44); INSERT INTO user (nama, kota, web, umur) VALUES ('Tom',, 'Vegas' 'www.tom.com', 44);

Sekarang toko ini pernyataan SQL dalam variabel dan lulus ini sebagai parameter mysql_query seperti ini:
Code: Kode:
1. $sql = "INSERT INTO users (name,city,web,age) VALUES ('Tom','Vegas','www.tom.com',5)" ; $ Sql = "INSERT INTO user (nama, kota, web, umur) VALUES ('Tom', Vegas ',' 'www.tom.com', 5)";
2. $result = mysql_query ( $sql ) ; $ Result = mysql_query ($ sql);

Selain itu kita perlu memeriksa hasilnya dan menginformasikan pengguna jika kesalahan terjadi.Kode memasukkan lengkap adalah sebagai berikut:

Memperbarui rekor
Pembaruan ini hampir sama dengan menyisipkan.Anda hanya perlu mengubah pernyataan sql dan menggunakannya sebagai sebelumnya:
Code: Kode:
1. $sql = "UPDATE users SET age=45 WHERE name='Tom'" ; $ Sql = "UPDATE user SET umur = 45 WHERE nama = 'Tom'";
2. $result = mysql_query ( $sql ) ; $ Result = mysql_query ($ sql);

Menghapus catatan
Seperti yang Anda tahu lagi sama seperti sebelumnya.Hanya sql perlu diubah seperti ini:
Kode:
1. $sql = "DELETE FROM users WHERE name='Tom'" ; $ Sql = "DELETE FROM pengguna WHERE nama = 'Tom'";
2. $result = mysql_query ( $sql ) ; $ Result = mysql_query ($ sql);

Selasa, 28 September 2010

Salam Ukhuwah Sahabat

Sahabatku...


Aku mengenal kalian lewat jiwa…

Bukan lewat mata…

Aku menjadikan kalian saudara lewat hati…

Aku tak tahu,..

Seperti apa aku dalam pandangan kalian…

Selayak apa aku dalam ukhuwah kalian…


Tapi yang aku tahu,..

Meski dengan keterbatasanku berbalut kekuranganku…

Aku menulis nama kalian di hatiku…

Sejak awal dan takkan pernah terganti apalagi terhapus…

Sebagai ‘ SAUDARA ’ di hatiku…

Kemarin, hari ini ataupun nanti…

Insya Allah…

Wahai Dzat Yang Maha Mengetahui…

Kami hanya memiliki satu hati yang mana di dalamnya ada cinta, kasih, dan sayang yang senantiasa bersemi indah…

Ya Muhaimin…

Hati itu kini tengah berjelajah di dunia fana ini…

Dunia indah penuh fatamorgana yang selalu dan selalu menawarkan keindahannya pada hati-hati kami yang sangat lemah…

Ya Rabbi…

Kini datang hati ini menghadap-Mu…

Menghadap Engkau sebagai satu-satunya Dzat yang berhak atasnya…

Yang membolak-balikkannya dan yang menjaga seutuhnya…

Ya Illahi…

Kami titipkan hati ini hanya kepada-Mu…

Untuk Engkau semaikan ia dalam cinta, kasih, dan sayang-Mu…

Untuk Engkau penuhi ia ketaatan demi ketaatan kepada-Mu…

Untuk Engkau sabarkan ia dari segala maksiat kepada-Mu…

Agar selamat ia kembali kepada-Mu…

Agar ridha-Mu bersamanya ketika malaikat maut menjemputnya…

Agar surga-Mu menjadi akhir hidupnya yang kekal…selamanya…seutuhnya...

Yaa muqallibal quluub tsabbit qalbi ‘alaa diinik…

Amin Allahumma Amin…



العلماء هم ضالتي في كل بلدة وهم بغيتي ووجدت صلاح قلبي في مجالسة العلماء

" Orang-orang yang berilmu agama adalah orang yang kucari di setiap tempat. Mereka adalah tujuan yang selalu kucari. Dan aku menemukan keshalihan hatiku di dalam bergaul dengan mereka. " (حلية الأولياء وطبقات الأصفياء , IV/85 )



Pada kalian saudaraku seiman pilihan Allah..
Pada kalian teman seperjuangan yang selalu berkorban..
Pada kalian seorang muslim/ah yang selalu kuat dan tegar..

Aku kirimkan salam terindah

Aku lafadzkan senandung do'a

Aku hantarkan sebuah semangat

Semoga Allah senantiasa memberi Kekuatan..Ketegaran..Keikhlasan dan Keistiqomahan

dalam setiap hari-hari yang kalian jalani


Saudaraku,..
Jangan hidupkan diri ku dalam pikiran mu
yang akhirnya membuat kalian selalu ingat akan diri ku
Jangan pula kalian hidupkan diri ku dalam hati mu
karena hanya Allah yang berhak ada disana
Tapi Sahabat,..
Hidupkanlah diri ku dalam lantunan do'a-do'a yang kalian panjatkan
Insya Allah Ukhiwah Kita akan kekal selamanya disana
Insya Allah