আমাদের এসকিউএল স্ক্রিপ্টগুলি কীভাবে আমাদের লিখতে হবে তা নিয়ে আমরা এই সপ্তাহে আমার সংস্থায় কিছুটা বিতর্ক করছি।
পটভূমি: আমাদের ডাটাবেসটি ওরাকল 10 জি (শীঘ্রই 11 এ আপগ্রেড করা হবে)। আমাদের ডিবিএ টিম এসকিউএলপ্লাস ব্যবহার করে আমাদের স্ক্রিপ্টগুলিকে উত্পাদনে মোতায়েন করতে।
এখন, আমরা সম্প্রতি একটি মোতায়েন করেছি যা ব্যর্থ হয়েছে কারণ এটি একটি সেমিকোলন এবং একটি ফরোয়ার্ড স্ল্যাশ ( /
) উভয়ই ব্যবহার করেছিল । সেমিকোলন প্রতিটি বিবৃতি শেষে এবং স্ল্যাশ বিবৃতি মধ্যে ছিল।
alter table foo.bar drop constraint bar1;
/
alter table foo.can drop constraint can1;
/
স্ক্রিপ্টে পরে কিছু ট্রিগার যুক্ত করা হয়েছিল, কিছু ভিউ তৈরির পাশাপাশি কিছু সঞ্চিত পদ্ধতিও রয়েছে। উভয় ত্রুটি সৃষ্টি করার কারণে প্রতিটি বিবৃতি চালিত হওয়ার কারণ ;
এবং কারণ উভয়ই ছিল /
(বিশেষত সন্নিবেশগুলিতে, যা অনন্য হওয়া প্রয়োজন)।
এসকিউএল বিকাশকারীতে এটি ঘটে না, টোডে এটি ঘটে না। যদি আপনি নির্দিষ্ট আদেশগুলি চালনা /
করেন তবে সেগুলি এগুলি ছাড়া কাজ করবে না ।
পিএল / এসকিউএল-তে আপনার যদি একটি সাবপ্রগ্রাম (ডিকলার, শুরু, শেষ) থাকে সেমিকোলনটি সাবপ্রগ্রামের অংশ হিসাবে বিবেচিত হবে, সুতরাং আপনাকে স্ল্যাশ ব্যবহার করতে হবে।
সুতরাং আমার প্রশ্নটি হ'ল: যদি আপনার ডাটাবেসটি ওরাকল হয় তবে আপনার এসকিউএল স্ক্রিপ্টটি লেখার উপযুক্ত উপায় কী? যেহেতু আপনি জানেন যে আপনার ডিবি ওরাকল তা আপনার সর্বদা ব্যবহার করা উচিত /
?
sqlterminator
করতে !
পারেন) এবং এই কনভেনশনটি অন্যান্য সরঞ্জাম অনুসরণ করে followed পিএল / এসকিউএল ভাষা অবশ্য একটি বাধ্যতামূলক বাক্য গঠন উপাদান হিসাবে সেমিকোলন ব্যবহার করে।