Wakati mwingne utahitaji kuwa na function ili kurahisisha uchakataji wa data nyingi bila ya kurudia rudia kuandika code.
kutengeneza function tunaanza na keyword DELIMITER // hiyo utakuja tena kuiweka mwisho // DELIMITER baada ya hapo tutatumia keyword CREATE FUNCTION ikifuatiwa na jina la hiyo function ikifuatiwa na mabano (). Mfano salamu() kisha utaweka aina aina ya data na length yake ambayo hiyo function ita return katika sql function ni lazima iwe ina return data moja tu. Mfano RETURNS VARCHAR(255). kisha kama functio yako haitakuwa ikibadilikabadilika data weka keyword DETERMINISTIC hii ni option yaani sio lazima.
Baada ya hapo ndipo tutaanza kuandika code za function yetu. code hizo ni zile ambacho kuwa nini unataka kitokee. Utaanza na keyword BEGIN kisha utaweka hizo code kisha utamaliza na END.
Mwisho kumbuka kuwa ili function iweze kufanya kazi utahitaji kuitwa (call). katika mysql tutiita functionkwa kui select mfano utaiita mwishoni select salamu()
MFANO:
Tunataka kutegeneza function ambayo ita display meseji ya “haloo karibu Bongoclass”
DELIMITER //
CREATE FUNCTION salamu()
RETURNS VARCHAR(255)
DETERMINISTIC
BEGIN
RETURN 'hallo karibu Bongoclass';
END
// DELIMITER ;
SELECT salamu();
sasa inaweza kutokea ukirudia tena ku run hizo code ukaambiwa function already exist. hapo itatubidi tuifute ambayo ipo. kufuta tutatumia drop kwa mfano
DROP FUNCTION IF EXISTS salamu; nimetumia if ili kuifuta ambayo kama ipo.
Wacha tuone mfano zaidi. mfano unaofuata tutatumia database na table kutoka kwenye somo lililopita. tutakwenda kutafuta wastani wa bei.
abla hatujasonga sana una jambo nlwee sawa. ata function variable tunaztengeneza ndan ya function na tuna tuma keyword DECLARE ikifuatiwa na jina la variable ikifuatiwa na aina ya data.
Mfano
DECLARE total_price DOUBLE;
DECLARE total_count INT;
Kisha ili kuweza kuweka value kwenye variable tutatumia select into na sio from tunatumia into kwa kuwa tunataka kuingiza data kwenye variable.
Mfano:
SELECT SUM(price) INTO total_price FROM products;
SELECT COUNT(*) INTO total_count FROM products;
Mwisho utatumia keyword RETURN ili ku return data ambazo nio output ya function yako.
Mfano:
DROP FUNCTION IF EXISTS wastani;
DELIMITER //
CREATE FUNCTION wastani()
RETURNS DOUBLE
DETERMINISTIC
BEGIN
DECLARE total_price DOUBLE;
DECLARE total_count INT;
-- Calculate the total price of all products
SELECT SUM(price) INTO total_price FROM products;
-- Calculate the total number of products
SELECT COUNT(*) INTO total_count FROM products;
-- Calculate and return the average price, handle division by zero
IF total_count > 0 THEN
RETURN ROUND(total_price / total_count, 2);
ELSE
RETURN 0;
END IF;
END //
DELIMITER ;
SELECT wastani()
Mwisho:
katika somo linalofuata tutakwenda kujifunza kuhusu stored procedure kwenye mysl na jinsi inavyotofautiana na function
Jifunze zaidi, na wasiliana nasi ukiwa na App yetu. Bofya link hapo chini kuweza kuipakua.
Download NowUmeionaje Makala hii.. ?
Katika somo hili tutakwenda kumalizia program yetu ya kutengeneza matokeo ya wanafunzi kwa kuweka position kwa kila somo na position ya ujumla.
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kubadili jina la table na jina la column kwenye mysql database.
Soma Zaidi...Katika somo hili utajifunza kupata orodha ya database, kubadilibjina la database, kufuta database
Soma Zaidi...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...Katika somo hili utakwend akujifunza kuhusu Primary Key na Foreign Key
Soma Zaidi...Katika somo ili utakwend akujifunza jinsi ya kuweza kutengeneza variable kwenye database ya mysql
Soma Zaidi...Katika somo hili utajifunza jinsi ya kuweka data kwenye database, ku edit pamoja na kufuta kwa kutumia SQL na Myql interface
Soma Zaidi...Katika somo hili utakwend akujifunza jinsi ya kutafuta rank ama position kwenye data base yako kwa kutumia sql. Pia utajifunza kuhusu table alias
Soma Zaidi...Katika somo hili utakwend akujifunz akuunganisha table zaidi ya moja kwneye database.
Soma Zaidi...Katika somo hili utakwenda kujifunza aina mbalimbali za data zinazotumika kwenye mysql database
Soma Zaidi...