■ ストアドプロシージャ
* CREATE PROCEDURE を使う
サンプル
定義delimiter // CREATE PROCEDURE `give_hello` (OUT result VARCHAR(30)) COMMENT 'Hello World! for stored procedure.' LANGUAGE SQL BEGIN SELECT COUNT(*) FROM customer INTO result; END; //実行例
CALL give_hello(@value); SELECT @value; -- 出力結果 6
変更
DELIMITER // ALTER PROCEDURE give_hello() BEGIN -- 変更するSQL内容 END; //
削除
DROP PROCEDURE give_hello;
■ ストアドファンクション
* CREATE FUNCTION を使う
サンプル
定義delimiter // CREATE FUNCTION `say_hello` (your_name VARCHAR(30)) RETURNS VARCHAR(50) DETERMINISTIC COMMENT 'Hello World! for stored function.' LANGUAGE SQL BEGIN RETURN CONCAT('Hello, ', your_name, '!'); END; //実行例
SELECT say_hello('World'); -- 出力結果 Hello, World!