602SQL-Úplná dokumentace Index  

Vytvoření rutiny - CREATE PROCEDURE a CREATE FUNCTION (SQL)

příkaz_CREATE_routine ::= CREATE [ IF NOT EXISTS ] popis_rutiny;

Příkaz vytváří novou rutinu uloženou na serveru podle definice popis rutiny.

Maximální délka jména rutiny je 31 znaků. Rutina musí mít unikátní jméno v rámci schématu. Pokud rutina zadaného jména již existuje, pak je-li použita klauzule IF NOT EXISTS, příkaz neprovede žádnou akci, v opačném případě dojde k chybě - nastatane chybový sqlstate 40004 (KEY_DUPLICITY).

Alternativně lze rutinu vytvořit pomocí řídicího panelu vývojového prostředí 602SQL.

Příklad použití:

Funkce, která vrátí o 1 větší číslo než je největší současné

CREATE FUNCTION maxcislo () RETURNS INT;  
  BEGIN  DECLARE maxval INT;  
  SELECT MAX(cis)+1 INTO maxval FROM Tab1;  
  RETURN (maxval);  
END

Příklad použití:

Procedura, která spočítá, kolik je v tabulce záznamů vyhovujících podmínce

CREATE PROCEDURE RecCount (IN cislo INT, OUT res INT);
BEGIN
  SELECT COUNT(*) INTO res
  FROM Tab2
  WHERE cisint = cislo;
END

Viz