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 Sira ya Mtume Muhammad (s.a.w) 👉2 ai web app 👉3 Simulizi za Hadithi Audio 👉4 Madrasa kiganjani 👉5 Kitabu cha Afya 👉6 Kitau cha Fiqh
Post zinazofanana:
SQL - MySQL somo la 6: Jinsibya kutengeneza table kwenye database
Katika somo hili utakwenda kujifunza jinsi ya kutengeneza table za database
Soma Zaidi...SQL - MySQL somo la 2: Maana ya database na ina za database na kazi zake
Katika somo hili utakwenda kujifunza aina mbalimbali za database, lugha ya sql pamoja kuzijuwa kazi zake
Soma Zaidi...SQL - MySQL somo la 9: Jinsi ya kusoma data kwenye database
Katika somo hili utakwenda kujifunza jinsi ya kusoma data kutoka kwenye database. Pia utajifunza jinsi ya ku limit kiasi cha data ambazo zitaonekana.
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 24: Transaction kwenye database
Katika somo hili utakwend akujifunza kuhusu nadharia ya transaction kwenye database
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...