Oracle
 sql >> база данни >  >> RDS >> Oracle

Когато се прави заявка срещу изглед, клауза за филтриране в дефиницията на изгледа се игнорира

Можете да накарате вашия изглед да обработва и двата случая (въпреки че WHERE клаузата ограничава данните до SCHTYPEID = 1 ), като това:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL:Как да върнете няколко отделни колони

  2. Казус с различен тип данни

  3. Защо имената на таблица/колона/индекс на Oracle са ограничени до 30 знака?

  4. ORA-00979:не е проблем с израза GROUP BY

  5. Оптимален начин за ИЗТРИВАНЕ на определени редове от Oracle