Wpis z mikrobloga

Siemano mircy od #sql dawno mnie nie było! Mam taką o bazę. I mam do niej napisać dwie procedury i jedną funkcję.Funkcję sobie wymyśliłem, ale nie do końca wiem jak ją zaimplementować.

W Tabeli Brama mam atrybut Czasookres, który przyjmuje wartości 6M lub 12M.
W tabeli Przegląd mam atrybut Data, który przyjmuję wartość formatu daty.

Chcę aby funkcja sprawdzała wpis z przeglądu i sprawdzała czy data tam wpisała połączona z bramą przez idprz z tabelki pomocniczej przedmiotyserwisu jest starsza o 6 miesięcy lub 12 miesięcy zależnie od wpisu do danej bramy.
Prościej mówiąc, chcę aby funkcja sprawdzała, czy któryś przegląd minął i trzeba zrobić nowy.
Po czym wyświetli komunikat, że trzeba zrobić przegląd w obiekcie takim a takim.

Da radę to zrobić? Znalazłem póki co info o funkcji DateDiff, ale nie wiem jak ją zastosować.
Może ktoś mi podrzucić jakiś pomysł o czym poczytać? gdzie czegoś szukać?
#oracle #sql #mysql #bazydanych
gdziemojimbuspiatka - Siemano mircy od #sql dawno mnie nie było! Mam taką o bazę. I m...

źródło: comment_1641631225iJY4lMIlVC8BVC3ReDmwtz.jpg

Pobierz
  • 4
@gdziemojimbuspiatka: coś w tym stylu Ci jest potrzebne:

SELECT
CASE
WHEN
(
(CZASOOKRES = '12M' AND MONTHS_BETWEEN (SYSDATE, DATA)>=12)
OR
(CZASOOKRES = '6M' AND MONTHS_BETWEEN (SYSDATE, DATA)>=6)
)
THEN 'Przegląd po terminie'
ELSE 'Najprawdopodobniej spoko'
END WAZNOSC_PRZEGLADU
FROM ...