oracle интервал временной метки вершины с sysdate - PullRequest
0 голосов
/ 17 июня 2020

привет, у меня проблема, я хочу удалить просроченную запись из таблицы, поэтому я использовал предложение SQL where здесь мой SQL код

select ROWID,
       FOOD_RECEIVED_UID,
       USER_NAME,
       ITEM_TYPE,
       ITEM,
       QUANTITY,
       EXPIRY_DATE,
       CREATED_ON,
       CREATED_BY,
       UPDATED_ON,
       UPDATED_BY,
       USER_UID
  from FOOD_RECEIVED
   WHERE (ITEM_TYPE = :P9_ITEM_TYPE OR :P9_ITEM_TYPE IS NULL)and EXPIRY_DATE > SYSTIMESTAMP

Вот копия фотографии :

here is the photo copy

может ли кто-нибудь помочь мне исправить это ...

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Мне не совсем понятно, какое решение вы ищете.

  1. Вы хотите, чтобы выражение SQL удаляло все просроченные элементы за один раз ?

    В этом случае преобразуйте оператор select в оператор удаления delete from FOOD_RECEIVED where ....

  2. Хотите, чтобы кнопка удаления в отчете удаляла их по отдельности?

    Вы пробовали использовать мастер APEX для создания страницы? Создать страницу -> Отчет -> Отчет с формой . Используя это, APEX создаст для вас модальное диалоговое окно, в котором вы можете удалить отдельные элементы.

Надеюсь, это вам поможет.

0 голосов
/ 17 июня 2020

Не просрочены ли товары те, по которым expiry_date уже прошел? <, а не >.

and EXPIRY_DATE < SYSTIMESTAMP

Хотя я сомневаюсь, что expiry_date - это временная метка; больше похоже на date, поэтому:

and EXPIRY_DATE < SYSDATE
...