ডিএমএল বনাম ডিডিএল পার্থক্য তাদের নাম হিসাবে বোঝা যায় না, তাই কিছু সময় কিছুটা জটিল হয়ে যায়।
ওরাকল স্পষ্টতই ধারণা ধারণাগুলিতে ডিডিএল হিসাবে শ্রেণিবদ্ধ করেTRUNCATE , তবে DELETEডিএমএল হিসাবে।
TRUNCATEওরাকলের উপর ডিডিএল শিবিরের যে মূল বিষয়গুলি আমি রেখেছি তা হ'ল:
TRUNCATEস্টোরেজ প্যারামিটারগুলি ( NEXTপ্যারামিটার) পরিবর্তন করতে পারে এবং সেগুলি বস্তুর সংজ্ঞার অংশ - এটি ডিডিএল শিবিরে।
TRUNCATEএকটি অন্তর্নিহিত করে commit, এবং ফিরে ঘুরিয়ে ফেলা যাবে না (একপাশে ফ্ল্যাশব্যাক) - ওরাকলে সর্বাধিক (সমস্ত?) ডিডিএল অপারেশন এটি করে, কোনও ডিএমএল করে না।
ট্রিগারগুলি TRUNCATEচালনা করে না এমন ON DELETEঘটনাও এটি সাধারণ ডিএমএল অপারেশনগুলি থেকে আলাদা করে দেয় (তবে কিছু সরাসরি পথ ডিএমএল অপারেশনগুলিও ট্রিগারগুলি এড়িয়ে যায়, এটি কোনও সুস্পষ্ট সূচক নয়)।
সেই একই ডকুমেন্টেশন নোটগুলি যা DELETEইউএনডিও উত্পন্ন করে, তবে TRUNCATEতা নয়, সুতরাং আপনার বক্তব্যটি এই ক্ষেত্রে সঠিক। (দ্রষ্টব্য যা TRUNCATEকিছু উত্পন্ন করে REDOযাতে পুনরুদ্ধার / পুনরুদ্ধারের ক্ষেত্রে কেটে ফেলা যায়)) তবে কিছু NOLOGGINGক্রিয়াকলাপ হ্রাসযুক্ত ইউএনডিওও তৈরি করতে পারে (কারও সম্পর্কে কিছুই নিশ্চিত নয়), সুতরাং এটি আমার মতে কোনও সুস্পষ্ট সূচক নয়।
সুতরাং আমি এটি সংক্ষিপ্ত করব:
truncate"লেনদেনিক" এই অর্থে নয় যে এটি প্রতিশ্রুতিবদ্ধ হয় এবং এটি আবার ঘুরিয়ে দেওয়া যায় না এবং অবজেক্ট স্টোরেজ বৈশিষ্ট্যগুলি সংশোধন করতে পারে। সুতরাং এটি সাধারণ ডিএমএল নয় - ওরাকল এটিকে ডিডিএল হিসাবে শ্রেণিবদ্ধ করে।
delete এটি একটি সাধারণ ডিএমএল বিবৃতি।