আমাদের পণ্যটির সাথে সামঞ্জস্য রাখতে এসকিউএল সার্ভার থেকে স্টোরড পদ্ধতিগুলিকে ওরাকলে রূপান্তর করতে আমার বেশ কষ্ট হচ্ছে।
আমার কাছে এমন প্রশ্ন রয়েছে যা টাইমস্ট্যাম্পের ভিত্তিতে কিছু সারণীর সর্বাধিক সাম্প্রতিক রেকর্ডটি দেয়:
SQL সার্ভার:
SELECT TOP 1 *
FROM RACEWAY_INPUT_LABO
ORDER BY t_stamp DESC
=> এটি আমার সাম্প্রতিকতম রেকর্ডটি ফিরিয়ে দেবে
তবে ওরাকল:
SELECT *
FROM raceway_input_labo
WHERE rownum <= 1
ORDER BY t_stamp DESC
=> এটাই আমাকে পুরানো রেকর্ড ফিরিয়ে দেবে (সম্ভবত সূচকের উপর নির্ভর করে), ORDER BY
বিবৃতি নির্বিশেষে !
আমি আমার প্রয়োজনীয়তাগুলির সাথে মেলে এইভাবে ওরাকল ক্যোয়ারিকে encapsulated করেছি:
SELECT *
FROM
(SELECT *
FROM raceway_input_labo
ORDER BY t_stamp DESC)
WHERE rownum <= 1
এবং এটি কাজ করে। তবে এটি আমার কাছে ভয়াবহ হ্যাকের মতো মনে হচ্ছে, বিশেষত যদি এর সাথে জড়িত টেবিলগুলিতে আমার প্রচুর রেকর্ড থাকে।
এই অর্জন করার জন্য সবচেয়ে ভাল উপায় কি ?