শুধুমাত্র একটি লেনদেন বা সেশনের সময়কালের জন্য প্রয়োজনীয় অস্থায়ী ডেটা সংরক্ষণ করার সময় গ্লোবাল অস্থায়ী টেবিলগুলি সহায়ক। নিয়মিত টেবিলের বিপরীতে, সেশন বা লেনদেন শেষ হলে বিশ্বব্যাপী অস্থায়ী টেবিলগুলি স্বয়ংক্রিয়ভাবে ড্রপ হয়ে যায়। সুতরাং, তাদের স্বাভাবিক টেবিলের মতো স্পষ্টভাবে বাদ দেওয়ার দরকার নেই। যাইহোক, বিশ্বব্যাপী অস্থায়ী টেবিলগুলি শুধুমাত্র বর্তমান সেশনে দৃশ্যমান, তাই সেগুলি অন্য সেশন বা ব্যবহারকারীদের দ্বারা অ্যাক্সেস করা যাবে না।
ওরাকেলে, একটি বিশ্বব্যাপী অস্থায়ী টেবিল হল একটি বিশেষ ধরনের টেবিল যা 'বিশ্বব্যাপী অস্থায়ী টেবিল তৈরি করুন' বিবৃতি ব্যবহার করে তৈরি করা হয়। এই বিবৃতিটি নিয়মিত 'সারণি তৈরি করুন' বিবৃতির অনুরূপ কিন্তু টেবিলটি একটি বিশ্বব্যাপী অস্থায়ী টেবিল তা উল্লেখ করার জন্য 'গ্লোবাল টেম্পোরারি' কীওয়ার্ডটি অন্তর্ভুক্ত করে।
'বিশ্বব্যাপী অস্থায়ী টেবিল তৈরি করুন' বিবৃতিটির সিনট্যাক্স নিম্নরূপ:
গ্লোবাল টেম্পোরারি টেবিল তৈরি করুন টেবিল_নাম (
column1 datatype [NULL | নাল না],
column2 datatype [NULL | নাল না],
...
) [অন কমিট {মুছুন | সংরক্ষণ} সারি];
এই সিনট্যাক্সে, table_name হল বিশ্বব্যাপী অস্থায়ী টেবিলের নাম যা আপনি তৈরি করতে চান। কলাম 1, কলাম 2, ইত্যাদি হল টেবিলের কলামগুলির নাম এবং ডেটা প্রকার।
ON COMMIT ক্লজ উল্লেখ করে যে বর্তমান লেনদেন করার সময় টেবিলের সারিগুলি মুছে ফেলা হবে বা সংরক্ষণ করা হবে কিনা। ডাটাবেস ইঞ্জিন অন কমিট ডিলিট সারি অপশন ব্যবহার করবে যদি অন কমিট ক্লজ সংজ্ঞায়িত করা না থাকে।
যেমন উল্লেখ করা হয়েছে, মনে রাখবেন যে একটি অস্থায়ী টেবিলের ডেটা ব্যক্তিগত। এর মানে হল যে টেবিলটি তৈরি করা ছাড়া অন্য কোনো সেশন এটি অ্যাক্সেস করতে পারে না।
গ্লোবাল টেম্পোরারি টেবিলের উদাহরণ তৈরি করা
আসুন ওরাকল ডাটাবেসে তৈরি অস্থায়ী টেবিল স্টেটমেন্ট ব্যবহার করার কিছু বাস্তব উদাহরণ আবিষ্কার করি।
নীচে দেখানো উদাহরণ ক্যোয়ারী বিবেচনা করুন:
গ্লোবাল টেম্পোরারি টেবিল তৈরি করুন temp_sales (product_id NUMBER(10) NULL নয়,
বিক্রয়_তারিখ তারিখটি শূন্য নয়,
বিক্রয়_অর্থ NUMBER(10,2) শূন্য নয়
) সারি মুছে ফেলতে কমিট করুন;
উপরের উদাহরণে, আমরা ON Commit DELETE ROWS বিকল্পটি ব্যবহার করে একটি অস্থায়ী টেবিল তৈরি করি।
তারপরে আমরা কিছু নমুনা ডেটা সন্নিবেশ করতে পারি:
TEMP_SALES-এ ঢোকান (product_id, sale_date, sale_amount) VALUES (1, DATE '2022-10-01', 100);TEMP_SALES-এ ঢোকান (product_id, sale_date, sale_amount) VALUES (2, DATE '2022-10-02', 500);
TEMP_SALES-এ ঢোকান (product_id, sale_date, sale_amount) VALUES (3, DATE '2022-10-03', 130);
এর পরে, আপনি এইভাবে লেনদেন করতে পারেন:
কমিট;কমিট করার পর, ডাটাবেস ইঞ্জিন কমিট ক্লজে উল্লেখিত অস্থায়ী টেবিলের সমস্ত ডেটা ছেঁটে ফেলবে।
উদাহরণ 2
নিম্নলিখিত উদাহরণ দেখায় কিভাবে একটি টেবিল তৈরি করতে হয় যা কমিটের সারি সংরক্ষণ করে:
গ্লোবাল টেম্পোরারি টেবিল তৈরি করুন temp_sales (product_id NUMBER(10) NULL নয়,
বিক্রয়_তারিখ তারিখটি শূন্য নয়,
বিক্রয়_অর্থ NUMBER(10,2) শূন্য নয়
) কমিট সংরক্ষণ সারি ;
তারপরে আমরা নমুনা সারি যোগ করতে পারি এবং দেখানো হিসাবে কমিট করতে পারি:
TEMP_SALES-এ ঢোকান (product_id, sale_date, sale_amount) VALUES (1, DATE '2022-10-01', 100);TEMP_SALES-এ ঢোকান (product_id, sale_date, sale_amount) VALUES (2, DATE '2022-10-02', 500);
TEMP_SALES-এ ঢোকান (product_id, sale_date, sale_amount) VALUES (3, DATE '2022-10-03', 130);
কমিট;
এই ক্ষেত্রে, কমিট অপারেশনের পরে ডেটা সংরক্ষণ করা উচিত, নীচের নির্বাচন বিবৃতি দ্বারা দেখানো হয়েছে:
TEMP_SALES থেকে * নির্বাচন করুন;আউটপুট:
উপসংহার
'অস্থায়ী টেবিল তৈরি করুন' বিবৃতিটি ওরাকেলে অস্থায়ী টেবিল তৈরি করার জন্য একটি শক্তিশালী হাতিয়ার। অস্থায়ী টেবিল শুধুমাত্র একটি লেনদেন বা সেশনের জন্য প্রয়োজনীয় অস্থায়ী ডেটা সংরক্ষণের জন্য দরকারী। 'অস্থায়ী টেবিল তৈরি করুন' বিবৃতিটি আপনাকে অস্থায়ী টেবিলের গঠন এবং কলামগুলি সংজ্ঞায়িত করতে এবং লেনদেন করার সময় সারিগুলি কীভাবে পরিচালনা করা হবে তা নির্দিষ্ট করতে দেয়৷ ফলস্বরূপ, অস্থায়ী টেবিল ব্যবহার করে আপনার প্রশ্ন এবং অ্যাপ্লিকেশনগুলির কার্যকারিতা এবং দক্ষতা উন্নত করতে পারে এবং আপনার ডাটাবেসে প্রয়োজনীয় স্থায়ী সঞ্চয়স্থানের পরিমাণ হ্রাস করতে পারে।