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

Jak vytvořit uloženou proceduru Oracle, která může vracet konkrétní entity i všechny entity

Zde je jednoduchý příklad:

Zvažte tabulku:PERSONS (person_id, name)

Tato funkce vrátí kurzor, který vrátí buď jeden záznam, nebo všechny záznamy, pokud není zadán žádný argument:

CREATE FUNCTION get_person
   (person_id IN persons.person_id%TYPE := NULL)
   RETURN SYS_REFCURSOR IS
   rc SYS_REFCURSOR;
BEGIN
   OPEN rc FOR
     SELECT *
     FROM   persons p
     WHERE  p.person_id = get_person.person_id
     OR     get_person.person_id IS NULL;
   RETURN rc;
END;


  1. Java EE/JPA způsob, jak přidat nové tabulky/entity do databáze

  2. SqlNullValueException při provádění uložené procedury pomocí MySqlCommand

  3. postgresql způsobí, že se stávající primární klíč při vkládání automaticky zvýší

  4. MySQL Pivot Query se součtem hodnoty sloupce