SQL somo la 19: Stored Procedure katika MySQL na Tofauti na Function
Somo hili ni muendelezo wa pale tulipoishia katika somo lililopita, hapa tutakwenda kusoma Stored Procedure katika MySQL na Tofauti na Function
Stored Procedure katika MySQL na Tofauti na Function
Malengo ya Somo:
-
Kuelewa maana ya Stored Procedure katika MySQL.
-
Kujifunza jinsi ya kuunda na kutumia Stored Procedures.
-
Kufahamu tofauti kati ya Stored Procedures na Functions.
1. Stored Procedure ni nini?
Stored Procedure ni seti ya taarifa za SQL ambazo zimehifadhiwa katika database na zinaweza kuitwa ili kutekeleza kazi maalum. Inasaidia kupunguza kurudia rudia kwa misemo (query) ya SQL na kuimarisha utendaji wa database.
Faida za Stored Procedure:
-
Ufanisi: Huandikwa mara moja, inahifadhiwa kwenye server na inaweza kuitwa tena bila kuandika upya.
-
Usalama: Inaweza kupunguza kiwango cha moja kwa moja cha kuandika SQL kwa watumiaji wa mwisho.
-
Orodha ya Operesheni: Inasaidia katika operesheni ngumu kama batch processing.
2. Jinsi ya Kuunda Stored Procedure
Muundo wa Msingi:
DELIMITER //
CREATE PROCEDURE procedure_name (IN param1 DATATYPE, OUT param2 DATATYPE)
BEGIN
-- Maagizo ya SQL
SELECT column_name INTO param2 FROM table_name WHERE column_name = param1;
END //
DELIMITER ;
Mfano:
Tuseme tunataka kuunda Stored Procedure inayorejesha jumla ya mishahara kutoka kwenye jedwali la employees.
DELIMITER //
CREATE PROCEDURE GetTotalSalary(OUT total_salary DECIMAL(10, 2))
BEGIN
SELECT SUM(salary) INTO total_salary FROM employees;
END //
DELIMITER ;
Kuitumia Stored Procedure:
CALL GetTotalSalary(@salary);
SELECT @salary;
3. Function katika MySQL
Function ni kipengele cha MySQL ambacho hufanya kazi maalum na mara nyingi hurudisha thamani moja.
-
Hutumiwa mara nyingi ndani ya queries za SELECT, INSERT, UPDATE, na DELETE.
-
Ni muhimu kwa kazi za mahesabu au kuendesha data.
Muundo wa Msingi wa Function:
CREATE FUNCTION function_name (param1 DATATYPE)
RETURNS DATATYPE
DETERMINISTIC
BEGIN
-- Maagizo ya SQL
RETURN (value);
END;
Mfano:
CREATE FUNCTION GetDiscount(price DECIMAL(10, 2))
RETURNS DECIMAL(10, 2)
DETERMINISTIC
BEGIN
RETURN price * 0.1;
END;
Kutumia Function:
SELECT GetDiscount(500);
5. Mifano zaidi
Tunakwend akutengeneza table yenye jina la employee na field kama id, na, salary.
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
salary DECIMAL(10, 2) NOT NULL
);
Kisha run code hizo hapo chini ili kuingiza data
INSERT INTO employees (name, salary) VALUES
('John Doe', 5000.00),
('Jane Smith', 6200.00),
('Michael Johnson', 4500.00),
('Emily Davis', 7300.00),
('David Wilson', 5400.00),
('Sarah Brown', 4800.00),
('Chris Miller', 6500.00),
('Anna Garcia', 5500.00),
('James Anderson', 5800.00),
('Laura Taylor', 7100.00);
Baada ya hapo sasa tutatengeneza procedure yetu kisha run code. Kwa k...
Umeionaje Makala hii.. ?
Share On:
👉1 Simulizi za Hadithi Audio 👉2 kitabu cha Simulizi 👉3 ai web app 👉4 Madrasa kiganjani 👉5 Kitau cha Fiqh 👉6 Sira ya Mtume Muhammad (s.a.w)
Post zinazofanana:
SQL somo la 16: Jinsi ya kuandaa matokeo ya Mtihani kwa kutumia database
Katika somo hili tutakwenda kumalizia program yetu ya kutengeneza matokeo ya wanafunzi kwa kuweka position kwa kila somo na position ya ujumla.
Soma Zaidi...Database somo la 26: Baadhi ya function za SQL ambayo hutumika kubadili data
Function hizi ni muhimu katika kubadili data kabla ya kuzionyesha. Hii ni muhimu ili kupata structure maalum ya data.
Soma Zaidi...Database somo la 22: Primary Key na Foreign Key
Katika somo hili utakwend akujifunza kuhusu Primary Key na Foreign Key
Soma Zaidi...SQL - MySQL somo la 10: Kupangilia muonekano wa data wakati wa kuzisoma kwenyed database
Katika somo hili utakwenda kujifunza jinsi ya kusoma data kutoka kwenye database katika mitindo mbalimbali kama kutoka kubwa kwenda ndogo, ama ndogo kwenda kubwa na mingineyo.
Soma Zaidi...Database somo la 25: Utangulizi wa Database ya sqlite
Katika somo hili utakwend akujifunza kuhusu aina nyingine ya database inayoitwa sqlite. Hii haihitaji server, na ni faili moja tu.
Soma Zaidi...SQL somo la 20: Jinsi ya kuunganisha table kwneye database
Katika somo hili utakwend akujifunz akuunganisha table zaidi ya moja kwneye database.
Soma Zaidi...