9.18 CREATE PROCEDURE Syntax

  建立程序。如以下範例:
-- CREATE PROCEDURE Syntax
delimiter //
CREATE PROCEDURE sample (param1 INT, param2 INT)
BEGIN
    DECLARE num INT DEFAULT 20;
    SET @var = param1 * param2;
    IF @var < 10 THEN
        SET @var = 10;
    ELSEIF @var > 100 THEN
        SET @var = 100;
    ELSE
        REPEAT
            SET @var = @var + 1;
        UNTIL @var > num END REPEAT;
    END IF;
END//
delimiter ;
CALL sample(6, 2);
SELECT @var;
  「@」開頭的變數是 User-defined Variables,建立後會持續存在,直到一個工作階段 (session) 結束。而不使用「@」開頭的變數則是 Local Variables,每次呼叫程序時都會重新建立並初始化。