কম্পিউটার

সঞ্চিত পদ্ধতি এবং ফাংশনগুলির মধ্যে সঞ্চালিত ক্রিয়াগুলি কীভাবে প্রতিলিপি করা হয়?


আসলে সঞ্চিত পদ্ধতি এবং ফাংশনে সম্পাদিত স্ট্যান্ডার্ড ক্রিয়াগুলি একটি মাস্টার মাইএসকিউএল সার্ভার থেকে স্লেভ মাইএসকিউএল সার্ভারে প্রতিলিপি করা হয়৷ এমনকি একটি মাস্টার মাইএসকিউএল সার্ভারে সাধারণ ডিডিএল স্টেটমেন্টের মাধ্যমে সঞ্চিত পদ্ধতি এবং ফাংশন তৈরি করাও স্লেভ মাইএসকিউএল সার্ভারে প্রতিলিপি করা হয়। এইভাবে, উভয় সার্ভারে বস্তু বিদ্যমান থাকবে।

সঞ্চিত পদ্ধতি এবং ফাংশনের ভিতরে যে ক্রিয়াগুলি সংঘটিত হয় সেগুলি প্রতিলিপি করা হয় কারণ MySQL প্রতিটি DDL ইভেন্ট রেকর্ড করে যা সঞ্চিত পদ্ধতি এবং ফাংশনের ভিতরে ঘটে। ঘটনাগুলি রেকর্ড করার পরে এটি স্লেভ মাইএসকিউএল সার্ভারে প্রতিলিপি করা হয়। কিন্তু সঞ্চিত পদ্ধতিগুলি চালানোর জন্য করা প্রকৃত কলগুলি প্রতিলিপি করা হয় না। নিম্নলিখিত একটি উদাহরণ যেখানে CALL পদ্ধতিটি প্রতিলিপি করা হবে না কারণ এটি প্রকৃতপক্ষে মাস্টার মাইএসকিউএল সার্ভারে একটি৷

উদাহরণ

mysql> Delimiter //
mysql> CREATE PROCEDURE myproc()
    -> BEGIN
    -> DELETE FROM mytable LIMIT 1;
    -> END //

এখন যখন আমরা এই পদ্ধতিটিকে মাস্টার মাইএসকিউএল সার্ভারে কল করি তখন এটি প্রতিলিপি হবে না৷

mysql> Delimiter ;
mysql> CALL myproc();

  1. কিভাবে MySQL সঞ্চিত পদ্ধতি আউটপুট দমন করতে?

  2. কিভাবে সংরক্ষিত পদ্ধতিতে IF ব্যবহার করবেন এবং MySQL এ নির্বাচন করবেন?

  3. মাইএসকিউএল-এ একটি পদ্ধতির ভিতরে একটি ভেরিয়েবল কীভাবে ঘোষণা করবেন?

  4. কিভাবে সঠিকভাবে একটি MySQL সঞ্চিত পদ্ধতিতে ডিলিমিটার ব্যবহার করবেন এবং মান সন্নিবেশ করবেন?