HSQLDB তে Stored Procedures তৈরি করা

Stored Procedures এবং Functions - এইচএসকিউএলডিবি (HSQLDB) - Database Tutorials

300

Stored Procedure হলো এমন একটি প্রি-ডিফাইন্ড SQL কোডের সেট, যা ডেটাবেসে সংরক্ষিত থাকে এবং নির্দিষ্ট একটি কাজ সম্পাদনের জন্য পুনরায় ব্যবহার করা যায়। HSQLDB-তে Stored Procedures ব্যবহার করা যায় জটিল লজিক পরিচালনা করার জন্য, যা বারবার SQL কোড লেখার প্রয়োজনীয়তা দূর করে।


Stored Procedures এর সুবিধা

  • পুনরায় ব্যবহারযোগ্যতা: একবার লিখে এটি একাধিকবার ব্যবহার করা যায়।
  • কোড মডুলারিটি: বড় বড় SQL স্টেটমেন্টকে ছোট ছোট মডিউলে ভাগ করা যায়।
  • কর্মক্ষমতা বৃদ্ধি: কম্পাইল্ড আকারে সংরক্ষিত হওয়ায় এটি দ্রুত কার্যকর হয়।
  • নেটওয়ার্ক লোড হ্রাস: ক্লায়েন্ট এবং সার্ভারের মধ্যে SQL স্টেটমেন্টের সংখ্যা কমে যায়।
  • সুরক্ষা: Stored Procedures ব্যবহার করে ডেটাবেসে অ্যাক্সেস নিয়ন্ত্রণ করা সহজ হয়।

HSQLDB-তে Stored Procedures তৈরি করার ধাপসমূহ

HSQLDB-তে Stored Procedures তৈরি করতে, Java ব্যবহার করে একটি প্রক্রিয়া সংজ্ঞায়িত করতে হয় এবং এটি ডেটাবেসে রেজিস্টার করতে হয়।


ধাপ ১: Java ব্যবহার করে প্রক্রিয়া তৈরি করা

Stored Procedure-এর জন্য Java কোড লিখতে হবে। নিচে একটি উদাহরণ দেওয়া হলো:

public class StoredProcedures {
    public static void addStudent(int id, String name, String email) throws SQLException {
        Connection conn = DriverManager.getConnection("jdbc:hsqldb:mem:testdb", "SA", "");
        PreparedStatement pstmt = conn.prepareStatement("INSERT INTO students (student_id, name, email) VALUES (?, ?, ?)");
        pstmt.setInt(1, id);
        pstmt.setString(2, name);
        pstmt.setString(3, email);
        pstmt.executeUpdate();
        pstmt.close();
        conn.close();
    }
}

ধাপ ২: Stored Procedure রেজিস্টার করা

HSQLDB-তে Stored Procedure রেজিস্টার করার জন্য CREATE PROCEDURE কমান্ড ব্যবহার করতে হয়। উদাহরণ:

CREATE PROCEDURE add_student(IN id INT, IN name VARCHAR(100), IN email VARCHAR(100))
LANGUAGE JAVA
EXTERNAL NAME 'CLASSPATH:StoredProcedures.addStudent';

উপাদানসমূহ:

  • IN id, IN name, IN email: ইনপুট প্যারামিটার, যা প্রক্রিয়াটি ব্যবহার করবে।
  • LANGUAGE JAVA: Stored Procedure Java-তে লেখা হয়েছে তা নির্দেশ করে।
  • EXTERNAL NAME: Java ক্লাসের ফাংশন উল্লেখ করে।

ধাপ ৩: Stored Procedure কার্যকর করা

Stored Procedure চালানোর জন্য CALL স্টেটমেন্ট ব্যবহার করা হয়। উদাহরণ:

CALL add_student(1, 'John Doe', 'john.doe@example.com');

ধাপ ৪: Stored Procedure পরীক্ষা করা

ডেটা সঠিকভাবে যোগ হয়েছে কিনা তা যাচাই করতে SELECT স্টেটমেন্ট ব্যবহার করা যায়:

SELECT * FROM students;

উদাহরণ: একটি পূর্ণাঙ্গ Stored Procedure প্রক্রিয়া

টেবিল তৈরি:

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100)
);

Java কোড:

public class StoredProcedures {
    public static void addStudent(int id, String name, String email) throws SQLException {
        Connection conn = DriverManager.getConnection("jdbc:hsqldb:mem:testdb", "SA", "");
        PreparedStatement pstmt = conn.prepareStatement("INSERT INTO students (student_id, name, email) VALUES (?, ?, ?)");
        pstmt.setInt(1, id);
        pstmt.setString(2, name);
        pstmt.setString(3, email);
        pstmt.executeUpdate();
        pstmt.close();
        conn.close();
    }
}

Stored Procedure তৈরি:

CREATE PROCEDURE add_student(IN id INT, IN name VARCHAR(100), IN email VARCHAR(100))
LANGUAGE JAVA
EXTERNAL NAME 'CLASSPATH:StoredProcedures.addStudent';

Stored Procedure কার্যকর:

CALL add_student(1, 'Alice', 'alice@example.com');
CALL add_student(2, 'Bob', 'bob@example.com');

ডেটা যাচাই:

SELECT * FROM students;

টিপস

  1. Java ক্লাস পাথ নিশ্চিত করুন: Stored Procedure-এ ব্যবহৃত Java ক্লাসটি ডাটাবেস সার্ভারের CLASSPATH-এ থাকতে হবে।
  2. সুরক্ষা বজায় রাখুন: Stored Procedure-এ ব্যবহৃত SQL স্টেটমেন্টে ইনপুট প্যারামিটার সঠিকভাবে স্যানিটাইজ করুন।
  3. ডিবাগিং সহজ করুন: Stored Procedure-এর কোড ছোট এবং সুগঠিত রাখুন।

HSQLDB-তে Stored Procedures তৈরি এবং ব্যবহার ডেটাবেস অ্যাপ্লিকেশনের কার্যক্ষমতা এবং মডুলারিটি বাড়ানোর একটি কার্যকর উপায়। সঠিকভাবে প্রয়োগ করলে এটি ডেভেলপমেন্ট প্রক্রিয়া সহজ এবং কার্যকর করতে পারে।

Content added By
Promotion

Are you sure to start over?

Loading...