সংরক্ষিত পদ্ধতি হল সাব রুটিন, SQL স্টেটমেন্টের সেগমেন্ট যা SQL ক্যাটালগে সংরক্ষিত থাকে। রিলেশনাল ডাটাবেস (জাভা, পাইথন, পিএইচপি ইত্যাদি) অ্যাক্সেস করতে পারে এমন সমস্ত অ্যাপ্লিকেশন এই পদ্ধতিগুলি অ্যাক্সেস করতে পারে৷
সঞ্চিত পদ্ধতিতে IN এবং OUT প্যারামিটার বা উভয়ই থাকে। আপনি SELECT স্টেটমেন্ট ব্যবহার করলে তারা ফলাফল সেট ফেরত দিতে পারে, তারা একাধিক ফলাফল-সেট ফেরত দিতে পারে।
উদাহরণ
ধরুন আমাদের ডিসপ্যাচ নামের একটি টেবিল আছে নিম্নলিখিত ডেটা সহ MySQL ডাটাবেসে:
<প্রে>+---------------+-------------------+------------ -----------------------------------------+| পণ্য_নাম | তারিখ_অফ_ডিসপ্যাচ | সময়_অফ_ডিসপ্যাচ | অবস্থান |+---------------+---------+--------- ----------------------------+| কীবোর্ড | 1970-01-19 | 08:51:36 | হায়দ্রাবাদ || ইয়ারফোন | 1970-01-19 | 05:54:28 | বিশাখাপত্তনম || মাউস | 1970-01-19 | 04:26:38 | বিজয়ওয়াড়া |+---------------+---------+------------ -----+------+এবং যদি আমরা নীচে দেখানো হিসাবে এই টেবিল থেকে মান পুনরুদ্ধার করার জন্য myProcedure নামে একটি পদ্ধতি তৈরি করে থাকি:
প্রক্রিয়া তৈরি করুন myProcedure ()-> BEGIN-> SELECT * from Dispatches;-> END //
উদাহরণ
নিম্নলিখিত একটি JDBC উদাহরণ যা JDBC প্রোগ্রাম ব্যবহার করে উপরে উল্লিখিত সঞ্চিত পদ্ধতিকে কল করে।
import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; পাবলিক ক্লাস কলিং প্রসিডিউর { পাবলিক স্ট্যাটিক অকার্যকর মেইন[ ]) SQLException নিক্ষেপ করে {//ড্রাইভার DriverManager.registerDriver(new com.mysql.jdbc.Driver()) নিবন্ধন করা; // সংযোগ পাওয়া হচ্ছে স্ট্রিং mysqlUrl ="jdbc:mysql://localhost/sampleDB"; সংযোগ কন =DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("সংযোগ প্রতিষ্ঠিত......"); // একটি CallableStateement CallableStatement প্রস্তুত করা হচ্ছে cstmt =con.prepareCall("{call myProcedure()}"); // ফলাফল পুনরুদ্ধার করা হচ্ছে ResultSet rs =cstmt.executeQuery(); while(rs.next()) { System.out.println("পণ্যের নাম:"+rs.getString("Product_Name")); System.out.println("প্রেরণের তারিখ:"+rs.getDate("Date_Of_Dispatch")); System.out.println("প্রেরণের তারিখ:"+rs.getTime("Time_Of_Dispatch")); System.out.println("অবস্থান:"+rs.getString("অবস্থান")); System.out.println(); } } }
আউটপুট
সংযোগ স্থাপন...... পণ্যের নাম:কীবোর্ড প্রেরণের তারিখ:1970-01-19 প্রেরণের সময়:08:51:36 অবস্থান:হায়দ্রাবাদ পণ্যের নাম:ইয়ারফোন প্রেরণের তারিখ:1970-01-19 প্রেরণের সময়:05:54 :28অবস্থান:বিশাখাপত্তনম পণ্যের নাম:প্রেরণের মাউস তারিখ:1970-01-19 প্রেরণের সময়:04:26:38 অবস্থান:বিজয়ওয়াড়া