Skip to main content

ওরাকলে একটা ফাংশন থেকে কি ভাবে একটা টেবিল রিটার্ন করা যায় [ Table return in Oracle PL/SQL function]

টেবিল ক্রিয়েট করা জন্য কোড :

মনে করি আমর উপরের মত করে একটা টেবিল তৈরি করেছি । এখন আমরা এমন একটা ফাংশন বানাতে চাচ্ছি যেটা ওই টেবিল থেকে কিছু কলাম বা সবগুলি কলাম নিয়ে নতুন নতুন একটা টেবিল আমাদের কে রিটার্ন করবে কিছু শর্তের উপর নির্ভর করে । এটা করার জন্য প্রথমে ওই টেবিল থেকে আমি যে যে কলাম নিতে চাই তার সবগুই নিয়ে এটা অবজেক্ট টাইপ বানাতা হবে নিচের মত করে । আমি টাইপ টির নাম দিয়েছি obj_type .

আমরা যে অবজেক্ট টাইপ [ obj_type ] বানালাম সেই টাইপের নতুন একটা [ obj_of_table ] একই ধরনের অবজেক্ট বানাতে হবে নিচের মত করে ।

আমাদের নতুন টাইপ এর নাম দিলাম obj_of_table ফাংশনের রিটার্ন টাইপ হিসাবে কিন্তু এটাই ব্যবহার করতে হবে । এখন আমরা টেবিল রিটার্ন করার জন্য ফাংশন বানাতে পারি । এই ফাংশনের রিটার্ন টাইপ হবে obj_of_table এবং টেবিল টি আমরা new_table নামের ভারিয়েবলে জমা করে রাখব এবং সব শেষ আমরা new_table কে রিটার্ন করে দিব ।

সব কাজ শেষ :) এখন ফাংশনটি কল করার পালা । মনে করি ফাংশনের প্যারামিটার হিসাবে আমি আইডি 10 পাঠাব এবং যার আইডি এই আইডির সাথে মিলে যাবে সেই অনুসাতে টেবিল রিটার্ন করবে । ফাংশনটি কল করা জন্য নিচের মত করে লিখতে হবে ।

পুরা কোড টা দেখতে এই রকম হবে :

সব কিছু ঠিকঠাক ভাবে রান করতে পারলে কোন সমস্যা হওয়ার কথা না । তার পরও ... কিছু হলে কিন্তু আমি কোন ভাবেই দায়ি থাকব না :P এতক্ষণ সময় নষ্ট করে লিখা টি পড়ার জন্য ধন্যবাদ :) সবার পরীক্ষা ভাল হোক । হ্যাপি কোডিং :)

Comments

Popular posts from this blog

[ UVa ] 750 - 8 Queens Chess Problem

আমরা এই সমস্যা তে যদি প্রথমেরই ৮ টা কুইনের জন্য সাম্ভাব সবগুলি অবস্থা হিসাব করে রাখি এবং পরে যেগুলো আমাদের কে প্রিন্ট করতে বলতেছে সেগুলো প্রিন্ট করি তবে খুব কম সময়ের মধ্যেই আমাদের প্রোগ্রাম রান করবে ।  কোড :

পাইথনে মডিউল এবং প্যাকেজ কিভাবে কাজ করে ?

পাইথন মডিউল এবং প্যাকেজ আজকে আমরা পাইথনের মডিউল ও প্যাকেজ সম্পর্কে জানার চেষ্টা করব । এবং এগুলো কিভাবে কাজ করে সেটা দেখব । আরও জানবো পাইথন কিভাবে তার মডিউল কে খুঁজে বের করে । মডিউল কি ? যেকোনো সিঙ্গেল পাইথন ফাইল কে বলা হয় মডিউল । আমরা যেকোনো পাইথন ফাইল যেটা .py দিয়ে শেষ হয় সেটাকে আমরা যেকোনো পাইথন স্ক্রিপ্ট থেকে import করতে পারি । অনেক বড় প্রোগ্রাম কে ছোট ছোট অংশে ভাগ করার জন্য মডিউল আমাদের কে সাহায্য করে । মনে করি আমাদের arithmatic.py নামে একটা পাইথন ফাইল আছে । ফাইলটি আপনি এখন যে ডিরেক্টরিরে আছে সেই ডিরেক্টরিতেই থাকতে হবে । এবং এটার মধ্যে নিচের জিনিসগুলো আছে । এখন আমি যদি একই ডিরেক্টরিতে থাকি তবে এই arithmatic.py ফাইল কে নিচের মত করে import করতে পারব । এবং এর ফাংশন ও ভারিয়েবল কে ব্যবহার করতে পারব । প্যাকেজ কি ? উপরে আমরা দেখলাম যে আমরা যদি কোন মডিউল কে অন্য একটা মডিউল থেকে import করতে চাই তবে মডিউল গুলো কে একই ডিরেক্টরিতে রাখতে হয় । এটা একটা সমস্যা । এই সমস্যা দূর করার জন্যই মূলত পাকেজিং সিস্টেম । এর মাধ্যমে আমরা আমাদের লেখা বিভিন্ন পাইথন মডিউল কে ভিন্ন ভি...