Я пытаюсь создать таблицу, которая фильтруется по переменной дате в зависимости от текущей даты. Хотя я довольно новичок в Oracle и PL/SQL, я уже успешно написал несколько процедур PL/SQL для начинающих. Но мне интересно, правильно ли я использую переменную для достижения своей цели. Упрощенная версия того, что я хочу сделать:
Создайте таблицу myTable как Select * from oldTable, где Effective_date > variabledate
Возможно, это лучше сделать, используя оператор case в самом запросе, вместо того чтобы использовать оператор case для создания переменной, а затем использовать переменную в запросе. Но я думаю, что переменная будет более упорядоченной, легче читаемой и, возможно, будет работать быстрее.
Я гуглил и искал, но большая часть того, что я нахожу, пытается подсказать мне, как написать это, а не самый эффективный мой подход.
Любые мысли/предложения с благодарностью!
trunc(sysdate) -5
, возможно, у вас может быть представление, включающее этот фильтр. Зависит от того, какова ваша конечная цель и где/как вы планируете использовать свою новую таблицу. (Если это менее предсказуемо, вы можете использовать контекст для параметризации представления, но опять же зависит от того, что вы делаете...) - person Alex Poole   schedule 26.10.2015