MySQL Function (UDF) User Define Function in Hindi
|इस Article मे हम MySQL Function के बारे मे जानेंगे और साथ मे कैसे हम UDF (User Define Function) लिखना सीखेंगे ।
MySQL Function क्या होता हैं ?
जब भी हम कोई भी कार्य या SQL Query को एक से अधिक बार ऊपयोग मे लेना होता हैं तब हम Query को Function मे लिखे देते हैं , ऐसा करने से हमे जब उस Query की आवश्यकता होगी जब हम Function को call कर लेंगे। Function के द्वारा हम Single Value Return ले सके हैं ।
User Define Function Meaning in Hindi
User Define का हिन्दी मे मतलब यह होता हैं की हम अपने अनुसार ही Function बना सकते है , user function को खुद Define कर सकता हैं इसलिए ही इसे User Define Function कहा जाता हैं ।
MySQL Function के क्या फायदे होते हैं ? Benefit of MySQL Function ?
- Easy to Understand : Function के उपयोग से Program समझना आसान हो जाता हैं ।
- Time Saving : भविष्य मे यदि हमे कोई भी Changes करना होता हैं तो हम केवल Function मे Changes कर सकते हैं , ऐसा करने से केवल एक ही जगह Change करने से हमने जहा जहा भी Function का उपयोग किया हैं सभी जगह Change हो जाता हैं ।
Steps For Creating MySQL Function
- 1. Click on Database : सबसे पहले डेटाबेस के नाम पर क्लिक करे ।
- 2. Click on More : यदि स्क्रीन की Width कम हुए तो यह Option दिखाई देगा) और नहीं दिखाई दे तो आप 3rd Step Follow करे ।
- 3. Click On Routines : अब आप Routines पर क्लिक करे ।
- 4. Add Routine : अब Add Routine पर क्लिक करे ।
इसके बाद कुछ इस तरह से स्क्रीन दिखाई देगी
- Routine Name : यहाँ पर जिस नाम से हम Function बना रहे हैं वह नाम लिखेंगे ।
- Type : यहाँ से हम Select करते हैं की हम Function बना रहे हैं की Procedure.
- Parameter : यहाँ पर आपको Parameter देना होते हैं , यानि की जब हम Function को Call करे तब कुछ Value हमारे द्वारा Function को Input की तौर पर दी जाती हैं , तो हम जितने भी Input देना चाहते हैं वह यहाँ पर सेलेक्ट करे ।
- Name : Parameter का नाम यहाँ पर लिखे
- Type : Parameter का Data Type यहाँ पर से Select करे ।
- Length : यहाँ पर Width लिखे ।
- Return Type : यहाँ पर जिस Type की Value Function Return करेगा वह Datatype select करे ।
- Return Length : यहाँ पर Data की Width लिखे ।
- Return Option : यहाँ पर Character Set लिखे जाते हैं यदि आप English में ही Return कर रहे हैं तो जैसा हैं वैसा ही रहने दे और यदि आप Hindi में या कोई Unicode का उपयोग कर रहे हैं तो UTF-8 आदि Select कर सकते हैं ।
- Definition : यह Function की Body हैं इसे हमें BEGIN से शुरू करना होती हैं और END से समाप्त किया जाता हैं । यदि आप एक से अधिक Statement का उपयोग कर रहे हैं तो आपको BEGIN….END लगाना होता हैं ।
- Is deterministic : यदि आपके फंक्शन में इनपुट की Value 1 होने पर Return 4 होता हैं और हर बार 1 input पर output 4 ही हो यानि की Input का Result हर Execution पर Same ही हो तो यहाँ पर Deterministic पर Tick करे अन्यथा उसे Untick ही रहने दे ।
- Adjust Privileges : में यह एक नया Feature हैं, जब आप किसी Function को Access Rights दे देते हैं और बाद में उसे Rename कर देते हैं तो PHP MyAdmin में Access Rights Automatically ही नए नाम पर Transfer कर देता हैं । यदि option Edit से open करने पर ही दिखाई देता हैं ।
- Definer : यहाँ पर User Permission दी जाती है ।
- Security Type : यहाँ पर यदि Definer सेलेक्ट हैं तो Function बनाने वाले की Access Rights के अनुसार Execution किया जाता हैं और यदि INVOKER select हैं तो Execution करने वाले के Access Rights के अनुसार Execute होता हैं ।
- SQL Data Access : जो हम Function बना रहे हैं इसमें हम SQL का कितना उपयोग कर रहे हैं वह हमें यहाँ से Select करना होता हैं । यह Character encoding के समय ही काम में आता हैं यदि यह कोई भी ऑप्शन select कर लेंगे तो भी Function कार्य करेगा ।
- NO SQL : यदि आप किसी भी प्रकार के SQL के Statement का उपयोग नहीं कर रहे हैं तब NO SQL लिखे ।
- MODIFIES SQL DATA: यदि आप INSERT UPDATE DELETE आदि का भी उपयोग कर रहे हैं तो यह यह वाला option Select करे ।
- READS SQL DATA : यदि आप केवल SELECT का ही उपयोग कर रहे हैं तो यह Option Select करे ।
- CONTAINS SQL : यदि आप SQL Statement का उपयोग तो कर रहे हैं लेकिन SELECT INSERT UPDATE DELETE का उपयोग नहीं कर रहे तब यह ऑप्शन Select करे ।
- Comment : यहाँ पर आप Function के बारे में कुछ नोट्स लिख सकते हैं ।
- इतना करने के बाद आप Function को Save करे ।
हमारे अन्य आर्टिकल
- Learn C – हिंदी में
- MySQL Aggregate Function in Hindi
- MySQL SYS_EXEC Example With Trigger
- GET & POST Method | Difference Between GET & POST
- PHP Validation | filter_var | preg_match
MySQL Function (UDF) Example
हम यहाँ पर एक Example ले रहे हैं की हमें एक Table mst_item से item के Name Transaction Table trn_item के साथ दिखाना हैं तो हम इस तरह से Function बना कर उसका उपयोग करेंगे ।
// Master Table Structure
CREATE TABLE IF NOT EXISTS `mst_item` (
`item_id` int(6) NOT NULL AUTO_INCREMENT,
`item_nm` varchar(40) NOT NULL,
`op_qty` decimal(9,2) NOT NULL DEFAULT 0.00,
`pur_qty` decimal(9,2) NOT NULL DEFAULT 0.00,
`sal_qty` decimal(9,2) NOT NULL DEFAULT 0.00,
`cl_qty` decimal(9,2) NOT NULL DEFAULT 0.00,
PRIMARY KEY (`item_id`)
);
// Function
DELIMITER $$
CREATE DEFINER=`a1679ym8_b683had`@`localhost` FUNCTION `get_item_name`(`p_id` INT(9)) RETURNS varchar(40) CHARSET latin1
NO SQL
BEGIN
declare ls_nm varchar(40);
select item_nm into ls_nm
from mst_item
where item_id = p_id;
return (ls_nm);
END$$
DELIMITER ;
MySQL Function (UDF) Output
1. यदि आप Direct Execute करना चाहते हैं तो इस प्रकार से लिखे ।
SELECT get_item_name(2);
ऐसा करने से 2 नंबर पर जिस भी item का नाम होगा वह आपको रिजल्ट में दिखाई देगा जैसे की Computer.
2. यदि आप Select SQL में उपयोग करना चाहते हैं तो इस प्रकार से लिखे ।
SELECT *, get_item_name(item_id) as item_nm
FROM `trn_item`;
यहाँ पर हमने Parameter में trn_item Table की item_id को Parameter की जगह Pass किया हैं जब आप इसका रिजल्ट देखेंगे तो कुछ इस प्रकार दिखाई देगा ।
SQL Logic App Download करे और सीखे MySQL हिंदी में
यह Article आपको कैसा लगा कृपया Comment करके बताये । अपना कीमती समय देने के लिए धन्यवाद ।