Functions এবং Procedures এর উদাহরণ

PL/SQL এর Stored Procedures এবং Functions - পিএল/এসকিউএল (PL/SQL) - Database Tutorials

402

PL/SQL-এ Functions এবং Procedures হল দুটি মৌলিক প্রোগ্রামিং কন্সট্রাক্ট যা পুনঃব্যবহারযোগ্য কোড ব্লক তৈরি করতে সাহায্য করে। এই দুটি ব্যবহার করে আপনি কোডের কার্যকারিতা নির্দিষ্ট করতে পারেন, এবং তারা সাধারণত ডেটাবেসে বিভিন্ন ক্রিয়াকলাপ সম্পাদন করতে ব্যবহৃত হয়।

1. Function এর উদাহরণ

Function হল একটি প্রোগ্রামিং ব্লক যা একটি মান ফিরিয়ে দেয়। এটি সাধারণত ডেটাবেসের ক্যালকুলেশন বা মানের প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়।

Function Syntax:
CREATE OR REPLACE FUNCTION get_salary(emp_id IN NUMBER) 
RETURN NUMBER IS
    emp_salary NUMBER;
BEGIN
    -- Query to fetch the salary for a given employee
    SELECT salary INTO emp_salary
    FROM employees
    WHERE employee_id = emp_id;
    
    RETURN emp_salary;
END get_salary;

এই উদাহরণে:

  • get_salary হল একটি function যা employee ID (emp_id) ইনপুট হিসেবে নেয় এবং সেই employee এর salary ফেরত দেয়।
  • RETURN স্টেটমেন্ট ব্যবহার করে emp_salary ভেরিয়েবলটি রিটার্ন করা হয়।
  • এই ফাংশনটি আপনাকে employee_id এর ভিত্তিতে salary বের করতে সাহায্য করবে।
Function ব্যবহার:
DECLARE
    emp_salary NUMBER;
BEGIN
    -- Calling the function and storing the returned value
    emp_salary := get_salary(101);
    DBMS_OUTPUT.PUT_LINE('Salary: ' || emp_salary);
END;

এখানে:

  • get_salary(101) কল করে employee ID 101 এর salary নিয়ে আসা হচ্ছে।

2. Procedure এর উদাহরণ

Procedure হল একটি প্রোগ্রামিং ব্লক যা কিছু কার্যক্রম সম্পাদন করে এবং কোন মান ফেরত দেয় না। এটি সাধারণত ডেটাবেসে INSERT, UPDATE, DELETE বা অন্যান্য অপারেশন সম্পাদন করার জন্য ব্যবহৃত হয়।

Procedure Syntax:
CREATE OR REPLACE PROCEDURE update_salary(emp_id IN NUMBER, salary_increment IN NUMBER) IS
BEGIN
    -- Update the salary of an employee by a given increment
    UPDATE employees
    SET salary = salary + salary_increment
    WHERE employee_id = emp_id;
    
    COMMIT;  -- Save the changes to the database
END update_salary;

এই উদাহরণে:

  • update_salary হল একটি procedure যা employee ID (emp_id) এবং salary increment (salary_increment) ইনপুট নেয় এবং সংশ্লিষ্ট employee এর salary আপডেট করে।
  • এটি কোন মান ফেরত দেয় না; তবে, UPDATE স্টেটমেন্টের মাধ্যমে ডেটাবেসের salary পরিবর্তন করে।
Procedure ব্যবহার:
BEGIN
    -- Calling the procedure to update the salary of employee with ID 101
    update_salary(101, 5000);
    DBMS_OUTPUT.PUT_LINE('Salary Updated for Employee ID: 101');
END;

এখানে:

  • update_salary(101, 5000) কল করে employee ID 101 এর salary 5000 টাকা বাড়ানো হচ্ছে।

Functions এবং Procedures এর পার্থক্য

বিষয়FunctionProcedure
ফিরিয়ে দেয়একটি মান (value) ফিরিয়ে দেয়কোন মান ফিরিয়ে দেয় না (Void)
ব্যবহারExpression-এর মধ্যে ব্যবহার করা যায় (যেমন, SELECT, INSERT)Independent স্টেটমেন্ট হিসেবে ব্যবহৃত হয়
ফিরিয়ে দেওয়ার ধরনRETURN স্টেটমেন্ট দিয়ে মান রিটার্ন করেRETURN স্টেটমেন্ট ব্যবহার করা হয় না
কলিংExpression বা স্টেটমেন্টে কল করা যায়Statement-এ কল করা হয়
ইনপুট প্যারামিটারসাধারণত ইনপুট প্যারামিটার নেয় এবং তা ব্যবহার করেইনপুট, আউটপুট অথবা ইনআউট প্যারামিটার নিতে পারে

আরও উদাহরণ

Function উদাহরণ 2:

একটি function যেটি দুটি সংখ্যা যোগ করে ফিরিয়ে দিবে:

CREATE OR REPLACE FUNCTION add_numbers(num1 IN NUMBER, num2 IN NUMBER)
RETURN NUMBER IS
BEGIN
    RETURN num1 + num2;
END add_numbers;

ব্যবহার:

DECLARE
    result NUMBER;
BEGIN
    result := add_numbers(10, 20);
    DBMS_OUTPUT.PUT_LINE('Sum is: ' || result);
END;

Procedure উদাহরণ 2:

একটি procedure যেটি কোনো employee এর নাম পরিবর্তন করবে:

CREATE OR REPLACE PROCEDURE update_employee_name(emp_id IN NUMBER, new_name IN VARCHAR2) IS
BEGIN
    UPDATE employees
    SET first_name = new_name
    WHERE employee_id = emp_id;
    COMMIT;
END update_employee_name;

ব্যবহার:

BEGIN
    update_employee_name(101, 'John Doe');
    DBMS_OUTPUT.PUT_LINE('Employee Name Updated');
END;

Conclusion

  • Functions সাধারণত কোনো মান ফিরিয়ে দেয় এবং এর ফলাফল expression বা calculation এর অংশ হিসেবে ব্যবহার করা হয়।
  • Procedures সাধারণত কোনো কার্যক্রম সম্পাদন করতে ব্যবহৃত হয় এবং কোনো মান ফিরিয়ে দেয় না। এটি বিভিন্ন কাজ (INSERT, UPDATE, DELETE) সম্পাদন করার জন্য ব্যবহার হয়।

PL/SQL-এ Functions এবং Procedures উভয়ই কোড পুনঃব্যবহারযোগ্যতা, নির্ভরযোগ্যতা এবং সংগঠনের জন্য অপরিহার্য।

Content added By
Promotion

Are you sure to start over?

Loading...