|
![]() | Popis rutiny | ![]() | Rutiny uložené na serveru | Modifikování rutiny (ALTER PROCEDURE | FUNCTION) | ![]() |
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
![]() | Popis rutiny | ![]() | Rutiny uložené na serveru | Modifikování rutiny (ALTER PROCEDURE | FUNCTION) | ![]() |