فرق میں UDF اور ذخیرہ کردہ طریقہ کار کے درمیان SQL میں.
UDF بمقابلہ میکسیکو میں موجود ہے. صارف کی وضاحت کردہ فنکشن اور ذخیرہ شدہ طریقہ کار موجود ہے، جو SQL ماحول میں عام ہیں. ان دونوں کے درمیان فرق یہ ہے کہ ذیل میں جائزہ لیا گیا ہے.
اختلافات
سب سے پہلے فرق جو صارف کی وضاحت کی گئی فنکشن کے ساتھ دیکھا جاتا ہے یہ ہے کہ یہ اس طرح سے پروگرام ہے جس سے اسے ایک قدر واپس ہونا ضروری ہے. ذخیرہ شدہ طریقہ کار کو کسی بھی قدر کی قیمت پر واپس آنے کے لۓ کچھ الاؤنس حاصل ہے. اس پر انحصار کرتا ہے کہ ذخیرہ شدہ طریقہ کار کو واپس آنے کا کوئی قدر یا نہیں ہے.
صارف کی وضاحت کردہ فنکشن اور ذخیرہ کردہ طریقہ کار کے حوالے سے ایک اور فرق دیکھا گیا ہے. صارف کی وضاحت کردہ فنکشن صرف ڈی ایل ایل کے بیانات کی اجازت نہیں ہے جب تک پڑھنے کے لئے منتخب بیانات کی اجازت دیتا ہے. دوسری طرف، ذخیرہ شدہ طریقہ کار دونوں منتخب بیانات اور ڈی ایم ایل بیانات کا استعمال کرنے کی بھی اجازت دیتا ہے، جو بھی اپ ڈیٹ اور ہراساں کیا جاسکتا ہے.
صارف کی وضاحت کردہ تقریب صرف پیرامیٹرز کی ان پٹ کی اجازت دے گی لیکن اسی پیرامیٹرز کی پیداوار کی حمایت نہیں کرتا. اس کے برعکس اسٹور کردہ طریقہ کار ان پٹ اور آؤٹ پٹ پیرامیٹرز کی حمایت کرتا ہے. UDF بھی کوشش کرنے والی بلاکس کے استعمال کی اجازت نہیں دیتا. اسٹور کردہ طریقہ کار کو استثنا کی ہینڈلنگ کے لئے کوشش کرنے والی بلاکس کے استعمال کے لئے اجازت دیتا ہے.
UDF بھی افعال کے اندر ٹرانزیکشنز کے لئے ہونے کی اجازت نہیں دیتا. یہ فعالیت اسٹوریج کے طریقہ کار میں دستیاب ہے جو ٹرانزیکشن ہینڈلنگ کی اجازت دیتا ہے. UDF ٹیبل متغیر کے استعمال کے لئے بھی اجازت نہیں دیتا اور اس کے علاوہ عارضی جدولوں کی اجازت نہیں ہے. تاہم، اسٹوریج طرز عمل، میز متغیر کے ساتھ ساتھ اس میں ایک عارضی میز کے استعمال کے لئے کی اجازت دیتا ہے.
جب کسی فنکشن میں، UDF اس ذخیرہ میزوں کو اس سے بلایا جائے گا. یہ بہت مختلف ہے جب یہ ذخیرہ شدہ طریقہ کار آتا ہے، جس کو کسی حد تک بغیر کسی تقریب کی اجازت دیتی ہے. جب افعال کے ساتھ، UDF بیان کردہ بیان سے کہا جاتا افعال کو بلایا جاتا ہے. اسٹور کردہ طریقہ کار بھی یہ بتاتا ہے کہ کہاں سے / بیان کرنے اور بیانات کرنے سے طریقہ کار نہیں کہا جا سکتا. تاہم، ایگزیک یا چلانا ذخیرہ کرنے کے طریقہ کار پر کال کرنے یا یہاں تک کہ عمل کرنے کے لئے استعمال کیا جا سکتا ہے. آخری لیکن کم از کم یہ نہیں ہے کہ UDF استعمال ہونے والی سیٹ کا استحصال کرنے کے لئے، اس میں شامل ہونے میں شامل ہونے میں استعمال کیا جا سکتا ہے. ذخیرہ شدہ طریقہ کار میں، یہ ممکن نہیں ہے کیونکہ کسی بھی طریقہ کار میں شامل ہونے میں اجازت نہیں دی جاتی ہے. یہ بھی یاد رکھنا ضروری ہے کہ ذخیرہ شدہ طریقہ کار صفر یا یہاں تک کہ ن اقدار کی اجازت دیتا ہے، جبکہ UDF صرف ایک مخصوص اور پیش سیٹ کی قیمت میں پیش کرسکتا ہے جو پیش سیٹ ہے.
خلاصہ
فنکشن کے لئے یہ لازمی ہے کہ وہ قیمت کو واپس لے سکیں جبکہ یہ محفوظ طریقہ کار کے لۓ نہیں ہے.
ڈی ایم ایل بیانات کی ضرورت نہیں ہے جبکہ بیانات صرف UDF میں قبول ہوتے ہیں.
زیر عمل طرز عمل کسی بھی بیانات اور ڈی ایم ایل بیانات کو قبول کرتا ہے.
UDF صرف آدانوں کی اجازت دیتا ہے اور نتائج نہیں دیتا.
ذخیرہ شدہ طریقہ کار دونوں آدانوں اور آؤٹ پٹوں کی اجازت دیتا ہے.
پکڑ بلاکس UDF میں استعمال نہیں کی جا سکتی لیکن ذخیرہ شدہ طریقہ کار میں استعمال کیا جا سکتا ہے.
UDF میں افعال میں کوئی ٹرانزیکشن کی اجازت نہیں ہے لیکن ذخیرہ شدہ طریقہ کار میں انہیں اجازت دی جاتی ہے.
صرف میز متغیر UDF میں استعمال کیا جا سکتا ہے اور عارضی میز نہیں.
ذخیرہ شدہ طریقہ کار دونوں ٹیبل متغیرات اور عارضی میزوں کی اجازت دیتا ہے.
UDF ذخیرہ شدہ طریقہ کار کو افعال سے بلایا جاسکتا ہے جبکہ اسٹوریج طرز عمل افعال کی بلا کی اجازت دیتا ہے.
UDF استعمال میں شامل ہونے میں استعمال کیا جاتا ہے جبکہ اسٹور میں شامل ہونے میں محفوظ طریقہ کار استعمال نہیں کیا جاسکتا ہے.
ذخیرہ شدہ طریقہ کار ہمیشہ کی واپسی کے لئے صفر کی اجازت دے گا. اس کے برعکس، UDF، اقدار ہیں جو پہلے سے طے شدہ نقطہ پر واپس آنا ضروری ہے.