Bocoran Simpananku

Simply Grow Up

Cursor

leave a comment »

Udah berabad2 blom ngeblog, akhirnya skrg keturutan juga meski bandwidth pas2an😀 . Kali ini mbahas cursor, trigger, ‘n view pada dbase yang ndukung RDBMS, misalnya mysql 5.0 yg udah aku coba. 2 the point langsung aja :

1. Cursor

Sebuah variabel yang mempunyai banyak isi, dan berbentuk tabular. Operasi yang dapat dilakukan terhadap sebuah variabel kursor adalah:

  • DECLARE @nama_ variabel_lokal dan SET @nama_ variabel_lokal.
  • Pernyataan OPEN, FETCH, CLOSE, dan DEALLOCATE.
  • Pernyataan output dari Store procedure.
  • Fungsi CURSOR_STATUS.
  • Procedure dari sistem sp_cursor_list, sp_describe_cursor, sp_describe_cursor_tables, and sp_describe_cursor_columns.

 

Catatan : tipe data cursor tidak dapat digunakan untuk tipe data dalam sebuah tabel.
FETCH
Untuk mengambil baris tertentu dari yang dimilik sebuah Cursors. Sintaks :
FETCH
[ [ NEXT | PRIOR | FIRST | LAST
| ABSOLUTE { n | @nvar }
| RELATIVE { n | @nvar }
]
FROM
]
{ { [ GLOBAL ] cursor_name } | @cursor_variable_name }
[ INTO @variable_name [ ,…n ] ]

Arguments

  1. NEXT

Mengambil nilai baris yang ada sekarang dan menggeser penunjuk ke baris berikutnya.

  1. PRIOR

Mengambil nilai baris yang ada sekarang dan menggeser penunjuk ke baris sebelumnya.

  1. FIRST

Mengambil nilai baris pertama dari sebuah kursor.

  1. LAST

Mengambil nilai baris terakhir dari sebuah kursor.

  1. ABSOLUTE {n | @nvar}

Mengambil baris tertentu dari kursor, jika @nvar positif, maka yang akan dihasilkan adalah baris ke n. sedangkan jika @nvar negatif, maka akan mengembalikan baris ke n dihitung dari akhir kursor.

  1. RELATIVE {n | @nvar}

Mengambil baris tertentu dari kursor, jika @nvar positive dengan pedoman posisi saat ini, maka yang akan dihasilkan adalah baris ke n setelah posisi saat ini. sedangkan jika @nvar negative, maka akan mengembalikan baris ke n sebelum posisi saat ini.

  1. GLOBAL

Untuk menentukan cursor_name sebagai cursor global.
cursor_name – nama dari kursor.
@cursor_variable_name
Nama dari varibel yang di tujukan ke kursor yang terbuka sehingga dapat dilakukan operasi fetch.
INTO @variable_name[,…n]
Data dari kolom tertentu diletakan dalam variabel lokal.

Ex :

create procedure sp_entri_c_supp_cat()
begin
declare mari_luping int default 0;
declare a char(10);
declare b,c varchar(40);
declare c_lihat CUrsor for select distinct concat(p.supplierid,’-‘,p.categoryid),c.CategoryName,s.CompanyName from products as p,categories as c, suppliers as s where p.supplierid=s.supplierid and p.categoryid=c.categoryid order by p.supplierid;
declare continue handler for sqlstate ‘02000’ set mari_luping=1;
open c_lihat;
repeat
fetch c_lihat into a,b,c;
if not mari_luping then
insert into supp_cat values(a,b,c);
end if;
until mari_luping end repeat;
close c_lihat;
end;

 

Written by bn03

May 9, 2007 at 4:50 am

Posted in d-Base

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: