কম্পিউটার টিউটোরিয়াল

SQL ফাংশন এবং প্রোসিডিউর-এর পার্থক্য

ফাংশন (Function)

কম্পিউটার প্রোগ্রামিং ভাষার প্রেক্ষাপটে ফাংশন হল নির্দেশাবলির একটি সেট যা কিছু ইনপুট নেয় এবং নির্দিষ্ট কাজ সম্পাদন করে। SQL-এ, একটি ফাংশন একটি মান ফেরত দেয়।

প্রোসিডিউর (Procedure)

প্রোসিডিউরও একটি নির্দেশাবলির সেট যা ইনপুট নেয় এবং নির্দিষ্ট কাজ সম্পাদন করে। SQL-এ, প্রোসিডিউর কোনো মান ফেরত দেয় না। জাভায়, প্রোসিডিউর এবং ফাংশন একই এবং এদের সাব-রুটিনও বলা হয়।

SQL ফাংশন এবং SQL প্রোসিডিউর-এর মধ্যে গুরুত্বপূর্ণ পার্থক্যগুলো নিচে দেওয়া হলো:

Sr. No. Key Function Procedure
1 Definition একটি ফাংশন দেওয়া ইনপুট ব্যবহার করে ফলাফল ক্যালকুলেট করতে ব্যবহৃত হয়। একটি প্রোসিডিউর নির্দিষ্ট ক্রমে নির্দিষ্ট কাজ সম্পাদন করতে ব্যবহৃত হয়।
2 Call একটি ফাংশন প্রোসিডিউর দ্বারা কল করা যায়। একটি প্রোসিডিউর ফাংশন দ্বারা কল করা যায় না।
3 DML DML স্টেটমেন্ট ফাংশনের মধ্যে এক্সিকিউট করা যায় না। DML স্টেটমেন্ট প্রোসিডিউরের মধ্যে এক্সিকিউট করা যায়।
4 SQL, Query একটি ফাংশন কোয়েরির মধ্যে কল করা যায়। একটি প্রোসিডিউর কোয়েরির মধ্যে কল করা যায় না।
5 SQL, Call যখন একটি ফাংশন কল করা হয়, এটি প্রথমে কম্পাইল হয় তারপর কল হয়। একটি প্রোসিডিউর একবার কম্পাইল হয় এবং বারবার কম্পাইল ছাড়া কল করা যায়।
6 SQL, Return একটি ফাংশন মান এবং কন্ট্রোল ফেরত দেয় কলিং ফাংশন বা কোডে। একটি প্রোসিডিউর কন্ট্রোল ফেরত দেয় কিন্তু কলিং ফাংশন বা কোডে কোনো মান ফেরত দেয় না।
7 try-catch একটি ফাংশনে try-catch-এর কোনো সাপোর্ট নেই। একটি প্রোসিডিউর try-catch ব্লকের সাপোর্ট রাখে।
8 SELECT একটি SELECT স্টেটমেন্টে ফাংশন কল থাকতে পারে। একটি SELECT স্টেটমেন্টে প্রোসিডিউর কল থাকতে পারে না।
9 Explicit Transaction Handling একটি ফাংশনে এক্সপ্লিসিট ট্রানজ্যাকশন হ্যান্ডলিং থাকতে পারে না। একটি প্রোসিডিউর এক্সপ্লিসিট ট্রানজ্যাকশন হ্যান্ডলিং ব্যবহার করতে পারে।
  1. C#-তে মেথড (Method) এবং ফাংশন (Function) এর পার্থক্য

  2. C# এবং .NET-এর পার্থক্য

  3. Go এবং Java-এর পার্থক্য

  4. পাইথনে মেথড এবং ফাংশনের পার্থক্য