Хранимые процедуры
Хранимые процедуры
Хранимые процедуры (stored procedures) находятся на сервере баз данных, а не на компьютере пользователя, как это было до появления SQL/PSM. Хранимая процедура должна быть определена, после чего ее можно вызвать с помощью команды CALL. Хранение процедуры на сервере уменьшает сетевой обмен и повышает производительность. Команда CALL является единственным сообщением, передаваемым от пользователя к серверу. Ниже приведен пример создания процедуры.
EXEC SQL
CREATE PROCEDURE MatchScore
(IN white CHAR (20),
IN black CHAR (20),
IN result CHAR (3),
OUT winner CHAR (5) )
BEGIN ATOMIC
CASE result
WHEN '1-0' THEN
SET winner='white' ;
WHEN '0-1 ' THEN
SET winner='black' ;
ELSE
SET winner='draw' ;
END CASE END ;
После создания хранимой процедуры ее можно вызвать с помощью команды CALL, например:
CALL MatchScore ('Kasparov', 'Karpov', '1-0', winner);
Три первых аргумента являются входными параметрами, которые передаются процедуре MatchScore. Четвертый аргумент является выходным параметром, который процедура Match-Score использует для возврата своих результатов в вызывающую программу. В приведенном примере она возвращает значение 'white'.