2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > MySQL 存储过程传参之in out inout 参数用法

MySQL 存储过程传参之in out inout 参数用法

时间:2023-11-01 03:21:16

相关推荐

MySQL 存储过程传参之in  out  inout 参数用法

存储过程传参:存储过程的括号里,可以声明参数。 语法是 create procedure p([in/out/inout] 参数名 参数类型 ..) in :给参数传入值,定义的参数就得到了值 out:模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程(在存储过程内部,该参数初始值为 null,无论调用者是否给存储过程参数设置值) inout:调用者还可以通过 inout 参数传递值给存储过程,也可以从存储过程内部传值给调用者

如果仅仅想把数据传给 MySQL 存储过程,那就使用“in” 类型参数; 如果仅仅从 MySQL 存储过程返回值,那就使用“out” 类型参数; 如果需要把数据传给 MySQL 存储过程,还要经过一些计算后再传回给我们,此时,要使用“inout” 类型参数。 DELIMITER$$CREATEPROCEDUREp1(INnumINT)BEGINDECLAREiINTDEFAULT0;DECLAREtotalINTDEFAULT0;WHILEi<=numDOSETtotal:=i+total;SETi:=i+1;ENDWHILE;SELECTtotal;END$$

存储过程传参 out[sql]view plaincopy CREATEPROCEDUREp2(OUTnumINT)BEGINSELECTnumASnum_1;IF(numISNOTNULL)THENSETnum=num+1;SELECTnumASnum_2;ELSESELECT1INTOnum;ENDIF;SELECTnumASnum_3;END$$SET@num=10$$CALLp2(@num)$$SELECT@numASnum_out$$

CREATEPROCEDUREp3(INOUTageINT)BEGINSETage:=age+20;END$$set@currage=18$$callp3(@currage)$$select@currage$$

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。