MySQL সংরক্ষিত ফাংশন মূলত একটি বিশেষ ধরনের সঞ্চিত প্রোগ্রাম যা একটি একক মান প্রদান করে। এসকিউএল স্টেটমেন্ট বা সঞ্চিত প্রোগ্রামগুলির মধ্যে পুনঃব্যবহারযোগ্য প্রধানত সাধারণ সূত্র বা ব্যবসায়িক নিয়মগুলিকে এনক্যাপসুলেট করতে আমরা MySQL-এ সঞ্চিত ফাংশনগুলি ব্যবহার করতে পারি। এর বাইরে সংরক্ষিত ফাংশন SQL স্টেটমেন্টে ব্যবহার করা হয় যখনই কোনো এক্সপ্রেশন ব্যবহার করা হয়।
সঞ্চিত ফাংশনের এই বৈশিষ্ট্যটি সঞ্চিত পদ্ধতির থেকে আলাদা৷ প্রকৃতপক্ষে, একটি সংরক্ষিত ফাংশন প্যারামিটার সঞ্চিত পদ্ধতির IN প্যারামিটারের সমতুল্য কারণ ফাংশনগুলি রিটার্ন কীওয়ার্ড ব্যবহার করে তা নির্ধারণ করে যা ফেরত দেওয়া হয়। এর সিনট্যাক্স নিম্নরূপ হতে পারে -
সিনট্যাক্স
<প্রে> তৈরি করুন [ডিফাইনার ={ ব্যবহারকারী | CURRENT_USER }] FUNCTION sp_name ([func_parameter[,...]]) রিটার্ন টাইপ [ক্যারেক্টিস্টিক ...] রুটিন_বডিফাঙ্ক_প্যারামিটার:প্যারাম_নাম টাইপটাইপ:যেকোন বৈধ মাইএসকিউএল ডেটা টাইপ বৈশিষ্ট্য:COMMENT 'স্ট্রিং' | ভাষা SQL | [নয়] নির্ধারক | { SQL ধারণ করে | NO SQL | এসকিউএল ডেটা পড়ে | এসকিউএল ডেটা পরিবর্তন করে } | এসকিউএল সিকিউরিটি { ডিফাইনার | INVOKER }রুটিন_বডি:বৈধ SQL রুটিন স্টেটমেন্টফাংশনে শুধুমাত্র ইনপুট প্যারামিটার থাকে এবং একটি মান ফেরত দেয়, তাই রিটার্ন মানের ডেটা টাইপ নির্দেশ করার জন্য একটি ফাংশনের সংজ্ঞায় একটি RETURNS ক্লজ থাকতে হবে। এছাড়াও, কলকারীকে একটি মান ফেরত দেওয়ার জন্য ফাংশন বডির মধ্যে কমপক্ষে একটি রিটার্ন স্টেটমেন্ট থাকতে হবে।