|
Příkaz DELETE | SQL příkazy |
Příkaz slouží k rychlému získání odpovědi na dotaz, která obsahuje právě jeden řádek, do proměnných.
Příkaz SELECT INTO (někde nazývaný Singleton Select) má stejnou syntaxi jako specifikace dotazu, avšak mezi klauzulemi SELECT a FROM obsahuje navíc klauzuli INTO ve tvaru:
klauzule_INTO ::= INTO proměnná {, proměnná }…
Počet proměnných musí být stejný jako počet výrazů v klauzuli SELECT a jejich typy musí být takové, aby se jim daly hodnoty výrazů z klauzule SELECT po řadě přiřadit. Proměnnou smí být také proměnná klienta uvedena dvojtečkou (resp. :>
). Jako proměnná může být při použití v triggeru i výraz nová_řádka.sloupec
(hodnota sloupce ve vkládaném nebo přepisovaném záznamu).
Pokud odpověď na dotaz obsahuje žádný nebo více než jeden záznam, nastane chybový sqlstate 21000 (SQ_CARDINALITY_VIOLATION). Existuje-li CONTINUE HANDLER pro tuto výjimku, je možné v něm do proměnných přiřadit nové hodnoty, aby procedura mohla pokračovat dalším příkazem.
Je-li v odpovědi právě jeden záznam, pak se hodnoty jeho sloupců přiřadí do proměnných uvedených v klauzuli INTO.
Příklad použití:
FUNCTION maxcislo () RETURNS INT;
BEGIN
DECLARE maxval INT;
SELECT MAX(cis)+1 INTO maxval FROM Tab1;
RETURN (maxval);
END
Příkaz DELETE | SQL příkazy |