-VIEW-
Secara definisi view merupakan table virtual yang didefinisikan berdasarkan query. Difokuskan pada aspek sekuritas, user tidak secara langsung mengakses databases yang asli.
contoh :
create view p as select *from departemen;
ket:
p merupakan view yang strukturnya berdasarkan "select *from departemen";
dengan adanya view kita dapat melakukan query pada table tanpa harus khawatir table yang sebenarnya rusak.
Tuesday, June 5, 2007
Trigger di MySQL - Part 1
--Trigger--
Suatu stored prosedure yang dijalankan sesudah atau pada saat terjadinya modifikasi data. Digunakan untuk menjaga integritas data. beberapa sintak :
- update(modifikasi), insert (utk proses insert), delete(menghapus data)
- before/after : apakah setelah atau pada saat DML dieksekusi
- for each row : diberlakukan untuk semua row
contoh:
buat dua databases sederhana :
CREATE TABLE siswa(
nis int(10) NOT NULL,
nama varchar(30) NOT NULL
)
CREATE TABLE wali(
nis int(10) NOT NULL,
namaWali varchar(30) NOT NULL
)
insert table--
-siswa
nis nama
2 budi
3 alif
4 didin
-wali
nis namaWali
2 udin
3 aldo
4 riki
1.Trigger delete
delimiter &&
create trigger hapuswali
before delete on siswa
for each row
begin
delete from wali where nis = OLD.nis; //OLD.nis merupaka nis yang didelete pada table siswa
end;
&&
delimiter ;
- elsekusi delete
delete from siswa where nis = 2;
--output--
- siswa
nis nama
3 alif
4 didin
- wali
nis namaWali
3 aldo
4 riki
2. Trigger update
delimiter &&
create trigger tambahsiswa
after update on siswa
for each row
begin
update nis from wali set nis = new.nis where nis = old.nis;
end;
&&
delimiter ;
siswa set nis = 12 where nis = 3;
output--
-siswa
nis nama
12 alif
4 didin
-wali
nis namaWali
12 aldo
4 riki
3. Trigger insert
Untuk insert kita akan buat suatu 2 table sederhana :
create table a (
bil int not null
)
create table b (
bil2 int not null
)
- trigger insert
delimiter &&
create trigger tambahdata
after insert on a
for each row
begin
insert into b values (2*new.bil);
end;
&&
delimiter ;
insert into a values (1),(2),(3),(4),(5);
output
- a
bil
1
2
3
4
5
- b
bil2
2
4
6
8
10
Suatu stored prosedure yang dijalankan sesudah atau pada saat terjadinya modifikasi data. Digunakan untuk menjaga integritas data. beberapa sintak :
- update(modifikasi), insert (utk proses insert), delete(menghapus data)
- before/after : apakah setelah atau pada saat DML dieksekusi
- for each row : diberlakukan untuk semua row
contoh:
buat dua databases sederhana :
CREATE TABLE siswa(
nis int(10) NOT NULL,
nama varchar(30) NOT NULL
)
CREATE TABLE wali(
nis int(10) NOT NULL,
namaWali varchar(30) NOT NULL
)
insert table--
-siswa
nis nama
2 budi
3 alif
4 didin
-wali
nis namaWali
2 udin
3 aldo
4 riki
1.Trigger delete
delimiter &&
create trigger hapuswali
before delete on siswa
for each row
begin
delete from wali where nis = OLD.nis; //OLD.nis merupaka nis yang didelete pada table siswa
end;
&&
delimiter ;
- elsekusi delete
delete from siswa where nis = 2;
--output--
- siswa
nis nama
3 alif
4 didin
- wali
nis namaWali
3 aldo
4 riki
2. Trigger update
delimiter &&
create trigger tambahsiswa
after update on siswa
for each row
begin
update nis from wali set nis = new.nis where nis = old.nis;
end;
&&
delimiter ;
siswa set nis = 12 where nis = 3;
output--
-siswa
nis nama
12 alif
4 didin
-wali
nis namaWali
12 aldo
4 riki
3. Trigger insert
Untuk insert kita akan buat suatu 2 table sederhana :
create table a (
bil int not null
)
create table b (
bil2 int not null
)
- trigger insert
delimiter &&
create trigger tambahdata
after insert on a
for each row
begin
insert into b values (2*new.bil);
end;
&&
delimiter ;
insert into a values (1),(2),(3),(4),(5);
output
- a
bil
1
2
3
4
5
- b
bil2
2
4
6
8
10
Stored Procedure di MySQL - Part 1
Apakah yang dimaksud dengan stored prosedure ?
Stored prosedure merupakan sql yang disimpan server atau stroed lainnya, berguna untuk dan efektifitas dalam query. tulisan ini, menjelaskan bagaimana stored prosedure di MySQL
a. Memulai Stored Prosedure
mysql> delimiter &&
mysql> drop procedure if exists Salam&&
Query OK, 0 rows affected (0.01 sec)
mysql> create procedure Salam()
-> begin
-> select "Assalamualaikum";
-> end;
-> &&
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> call Salam();
+-----------------+
Assalamualaikum
+-----------------+
Assalamualaikum
+-----------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Ket :
- delimiter && untuk memulai suatu stored procedure
- drop procedure if exists Salam&& untuk drop/delete
telah ada stored procedure dengan nama Salam
- create procedure Salam(),membuat Sp dengan nama Salam()
- begin, untuk memulai menulisan sql yang akan dieksekusi
- end ;, sebagai akhir stored procedure
- && , tutup
- delimiter ;, akhir/tutup delimiter
- call Salam(), eksekusi stored procedure
2. SP dengan parameter output
mysql> create procedure RataanGaji(out rataangaji int) //adanya parameter output yaitu rataangaji
-> begin
-> select avg(salary) into rataangaji from employee; //Menyimpan hasil avg(salary) ke rataangaji
-> end;
-> &&
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> call RataanGaji(@result); //@result sebagai parameter output
Query OK, 0 rows affected (0.00 sec)
mysql> select @result; //Keluarkan hasil di @result
+---------+
@result
+---------+
9905000
+---------+
1 row in set (0.00 sec)
3. SP dengan parameter input
delimiter &&
drop procedure if exists DataEmployee&&
create procedure DataEmployee(input int) //parameter int
begin
select *from employee where employee_id = input;
end;
&&
delimiter ;
call DataEmployee(101)
--outputnya--
101, 'ahmad yassin', 'yasin@yahoo.com', '081246798246', 15000000, , 1
4. SP menggunakan deklarasi variable
delimiter &&
drop procedure if exists DataEmployee2&&
create procedure DataEmployee2(input int)
begin
declare nama varchar(30);
declare gaji int;
select employee_name, salary into nama, gaji from employee where employee_id = input;
select nama,gaji;
end;
&&
delimiter ;
call DataEmployee2(101)
--output--
ahmad yassin,15000000
Stored prosedure merupakan sql yang disimpan server atau stroed lainnya, berguna untuk dan efektifitas dalam query. tulisan ini, menjelaskan bagaimana stored prosedure di MySQL
a. Memulai Stored Prosedure
mysql> delimiter &&
mysql> drop procedure if exists Salam&&
Query OK, 0 rows affected (0.01 sec)
mysql> create procedure Salam()
-> begin
-> select "Assalamualaikum";
-> end;
-> &&
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> call Salam();
+-----------------+
Assalamualaikum
+-----------------+
Assalamualaikum
+-----------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Ket :
- delimiter && untuk memulai suatu stored procedure
- drop procedure if exists Salam&& untuk drop/delete
telah ada stored procedure dengan nama Salam
- create procedure Salam(),membuat Sp dengan nama Salam()
- begin, untuk memulai menulisan sql yang akan dieksekusi
- end ;, sebagai akhir stored procedure
- && , tutup
- delimiter ;, akhir/tutup delimiter
- call Salam(), eksekusi stored procedure
2. SP dengan parameter output
mysql> create procedure RataanGaji(out rataangaji int) //adanya parameter output yaitu rataangaji
-> begin
-> select avg(salary) into rataangaji from employee; //Menyimpan hasil avg(salary) ke rataangaji
-> end;
-> &&
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> call RataanGaji(@result); //@result sebagai parameter output
Query OK, 0 rows affected (0.00 sec)
mysql> select @result; //Keluarkan hasil di @result
+---------+
@result
+---------+
9905000
+---------+
1 row in set (0.00 sec)
3. SP dengan parameter input
delimiter &&
drop procedure if exists DataEmployee&&
create procedure DataEmployee(input int) //parameter int
begin
select *from employee where employee_id = input;
end;
&&
delimiter ;
call DataEmployee(101)
--outputnya--
101, 'ahmad yassin', 'yasin@yahoo.com', '081246798246', 15000000, , 1
4. SP menggunakan deklarasi variable
delimiter &&
drop procedure if exists DataEmployee2&&
create procedure DataEmployee2(input int)
begin
declare nama varchar(30);
declare gaji int;
select employee_name, salary into nama, gaji from employee where employee_id = input;
select nama,gaji;
end;
&&
delimiter ;
call DataEmployee2(101)
--output--
ahmad yassin,15000000
Subscribe to:
Posts (Atom)