sql >> Databáze >  >> RDS >> Oracle

procedura oracle s případem Závisí na 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))

například:if vgroupid = -1 , pak poslední podmínka bude (((GROUPID = -1) AND (-1 > -1)) OR (-1 = -1)) nebo ((forever_false AND forever_false) OR (forever_true)) nebo (-1 = -1) - všechny záznamy

místo toho, pokud vgroupid = 123 poslední podmínka bude (((GROUPID = 123) AND (123 > -1)) OR (123 = -1)) nebo (((GROUPID = 123) and forever_true) OR (forever_false)) nebo (GROUPID = 123) - pouze 123 GROUPID




  1. Pochopení klauzule GROUP BY

  2. Je možné zobrazit oprávnění tabulky uživatelů Oracle bez oprávnění DBA?

  3. Operace není povolena po uzavření ResultSet (mysql, java)

  4. Jak načíst binární obraz z databáze pomocí C# v ASP.NET