MySql中如何使用存储过程参数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

存储过程 in参数 的使用

IN参数只用来向过程传递信息,为默认值。

--存储过程中in参数的使用DELIMITER;;CREATEPROCEDUREname_in(IN`time`VARCHAR(50))BEGINSELECTNOW(),`time`;END;;CALLname_in('现在时间');--in是一个形参你可以定义数据类型调用存储过程的时候可以给实参DELIMITER;;CREATEPROCEDUREname_in_2(IN`time`VARCHAR(50))--set赋值的使用BEGINSELECTNOW(),`time`;END;;SET@wo='现在时间';CALLname_in_2(@wo);DELIMITER;;CREATEPROCEDUREname_in_4(IN`time`VARCHAR(50))--DECLARE创建变量的使用BEGINDECLARE`time`DEFAULT'wo';--DECLARE创建变量的只在begin-end语句块有效的变量SELECTNOW(),`time`;--END;;--可以使用DECLARE在存储过程中--创建(DECLARE)和赋值(SET)set@变量名=值--总结DECLARE只在begin-end语句块有效set加@是会话变量在当前连接中对连接的客户端是有效的

out参数的使用

OUT参数只用来从过程传回信息。
MySQL存储过程"out"参数:从存储过程内部传值给调用者。
该参数初始值为 null,无论调用者是否给存储过程参数设置值。

DELIMITER;;CREATEPROCEDUREname_out(IN`one`INT,INtwoINT,OUTshuINT)--out输出参数的使用BEGINSETshu=`one`+two;--直接两个输入参数相加赋值给输出参数set变量名是赋值的意思--set赋值在当前存储过程中有效比如可以使用selectshu;--set@赋值在当前连接客服端中有效END;;CALLname_out(3,3,@shuchu);SELECT@shuchuAS输出参数;--在调用存储过程的时候可以定义一个@参数来接收输出参数也就是返回值

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。