Oracle
 sql >> Baza danych >  >> RDS >> Oracle

procedura oracle z przypadkiem To zależy od parametru

CURSOR c
IS
  SELECT COMPANYID,
         GROUPID,
         PERIODID,
         FN_PPROCESSCURRENT
FROM LIQUIDATIONSDETAILS
   WHERE     PROCESSID = FN_PPROCESSPREVIOUS
         AND (UNCOLLECTED > 0 OR INVOICE = 0)
         AND (((GROUPID = vgroupid) AND (vgroupid > -1)) OR (vgroupid = -1))

na przykład:jeśli vgroupid = -1 , wtedy ostatnim warunkiem będzie (((GROUPID = -1) AND (-1 > -1)) OR (-1 = -1)) lub ((forever_false AND forever_false) OR (forever_true)) lub (-1 = -1) - wszystkie rekordy

zamiast tego, jeśli vgroupid = 123 ostatnim warunkiem będzie (((GROUPID = 123) AND (123 > -1)) OR (123 = -1)) lub (((GROUPID = 123) and forever_true) OR (forever_false)) lub (GROUPID = 123) - tylko 123 GROUPID




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy po wykonaniu procedur składowanych w Oracle następuje automatyczne zatwierdzanie?

  2. Jak najlepiej obliczyć dane agregacji na poziomie n na podstawie danych z poziomu (n-1) (Oracle)

  3. Czy można odwołać się do dziesiątego i kolejnych ciągów zastępczych w regexp_replace Oracle?

  4. Jak uzyskać ostatni dzień miesiąca od podanej daty?

  5. Jak zmienić ograniczenie