Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Beim Abfragen einer Ansicht wird eine Filterklausel in der Definition der Ansicht ignoriert

Sie können Ihre Ansicht dazu bringen, beide Fälle zu behandeln (auch wenn die WHERE -Klausel beschränkt die Daten auf SCHTYPEID = 1 ), etwa so:

CREATE VIEW FOO(THE_DATE) AS
  SELECT CASE WHEN SCHTYPEID = 1 THEN TO_DATE(LDATE, 'YYYYMMDD') ELSE NULL END
    FROM SCHEDULES
   WHERE SCHTYPEID = 1;