MYSQL存储过程中的关键语法:
DELIMITER // 声明语句结束符,用于区分;
CEATE PROCEDURE demo_in_parameter(IN p_in int) 声明存储过程
BEGIN …. END 存储过程开始和结束符号
SET @p_in=1 变量赋值
DECLARE l_int int unsigned default 4000000; 变量定义
eg:
mysql> DELIMITER //
mysql> CREATE PROCEDURE pro_1(IN s int)
-> BEGIN
-> SELECT COUNT(*) INTO s FROM table_;
-> END
-> //
mysql> DELIMITER ;
查看结果
mysql> call pro_1(@s);
mysql> select @s;
这里需要注意的是DELIMITER//和DELIMITER;两句,DELIMITER是分割符的意思.
参数
MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:
CREATEPROCEDURE 存储过程名([[IN |OUT |INOUT ] 参数名 数据类形…])
IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值
OUT 输出参数:该值可在存储过程内部被改变,并可返回
INOUT 输入输出参数:调用时指定,并且可被改变和返回