SQL untuk Pemula Bagian 4 (Terakhir)
- VARIABLE
- PROCEDURE
- FUNCTION
- TRIGERRED
- IF
- LOOP
Karena besok saya ada test mengenai sql saya harus menyelesaikan bagian terakhir ini. Doain lancar yaww. Query sql ini jarang digunakan tapi kalok bisa gak usah buat sql yang ribet lagi tinggal pakek procedure atau function panggil bisa deh.
SQL VARIABEL
Variabel dalam mysql hanya menggunaka
set @a = 1;
Jika kamu gak bisa mungkin versinya beda. Coba pakek ini
declare @a int default 0;
set @a = 1;
SQL Procedure
Seperti pada bahasa pemrograman sql juga memiliki procedure. Bagaimana kita membuat procedure dalam mysql silakan lihat dibawah ini:
delimiter ..
create procedure getAnimeId(in animeId int)
begin
select * from anime where id = animeId;
end ..
delimiter ;
delimiter digunakan untuk mengubah ; yang biasanya untuk memberitahu bahwa query selesai. Disini kita mengubahnya menjadi .. . Cara untuk memanggil procedure tersebut adalah
perlu kalian ketahui in didalam kurung dapat ditambahin juga bisa digunakan keluaran dengan out atau juga bisa digunakan untuk inout.
Gak ngerti ? tanyain di kolom komentar ya. Tp gue kasih 1 contoh deh.
create procedure getCreatorId(in creatorid int, out total int)
begin
select count(*) into total from anime where idcreator = creatorid;
end ..
SQL Function & IF
function hampir mirip dengan procedure, procedure gak memiliki return sedangkan function memiliki return. Contohnya.
delimiter meow
create function genre(creatorid int) returns varchar(50) not deterministic
begin
declare gen varchar(50);
if creatorid = 1 then set gen = "Romance bingit";
elseif creatorid = 2 then set gen = "Omae wa mo sindeiru";
end if;
return(gen);
end meow
delimiter ;
Hasilnya:
Berbeda dengan procedure. Pemanggilannya bisa dilakukan dengan di dalam query select.
SQL Trigger
Contohnya dibawah ini
DELIMITER //
CREATE TRIGGER addOrderDetails
AFTER INSERT ON orderdetails
FOR EACH ROW
BEGIN
UPDATE products
SET quantityInStock = quantityInStock - NEW.quantityOrdered
WHERE products.productCode = NEW.productCode;
END //
DELIMITER ;
selain After ada before bedanya cuman dijalankan sebelum dan sesudah sama persis kayak artinya.
SQL LOOPING
Create procedure updateSalary()
begin
declare done int default 0;
declare current_dnum int;
declare dnumcur cursor for select dnumber from deptsal;
declare continue handler for not found set done = 1;
open dnumcur;
repeat
fetch dnumcur into current_dnum;
update deptsal
set totalsalary = (select sum(salary) from employee
where dno = current_dnum )
where dnumber = current_dnum;
until done
end repeat;
close dnumcur;
End
Udahlah lagi males gue. Capek. Kalok gak tahu bisa di rembukin di komentar gan :v. omae wa mou shindeiru ? NANI .... xD
++ BONUS ++
Berkomentarlah secara bijak.
EmoticonEmoticon