发布网友 发布时间:2022-05-04 23:51
共2个回答
懂视网 时间:2022-05-05 04:13
CALL语句可以用声明为OUT或的INOUT参数的参数给它的调用者传回值。它也“返回”受影响的行数,客户端程序可以在SQL级别通过调用ROW_COUNT()函数获得这个数,从C中是调用the mysql_affected_rows() C API函数来获得。(推荐学习:MySQL视频教程)
语法注意事项:
1,MySQL 存储过程中的每条语句的末尾,都要加上分号 “;” ... declare c int; if a is null then set a = 0; end if; ... end; 2,注释是 -- ; MySQL 存储过程的参数不能指定默认值 3,不能在 MySQL 存储过程中使用 “return” 关键字。 set c = a + b; select c as sum; end; 4. 调用 MySQL 存储过程时候,需要在过程名字后面加“()”,即使没有一个参数,也需要“()” call pr_no_param(); 5. 因为 MySQL 存储过程参数没有默认值,所以在调用 MySQL 存储过程时候,不能省略参数。可以用 null 来替代。 call pr_add(10, null);
更多MySQL相关技术文章,请访问MySQL教程栏目进行学习!
热心网友 时间:2022-05-05 01:21
call 一般用于2钟用途1. 跳转标签
例:call :标签1执行到这一种语句,程序脚本会自动匹配到指定的标签:标签1
在从标签那一行继续往下执行(程序由上往下执行)
例:
@echo off例如这一段代码,程序最终会显示字符串234,字符串123则不会显示出来
因为上一句使用了call语句,用于跳转至指定的标签
2. 传递参数
例A: call :text1 123这2个语句都会传递一个参数,参数是用变量形式传递,%1-%9,默认是9个参数
在使用参数的时候,根据程序需要,都会有一个返回值参数
这个返回值参数,一般用于比较特殊的程序思路,关于返回值的用法,一句二局说不明白
这里我指跟你说一下一般的传递参数的使用
例A
@echo off这一段代码,函数A,您可以当做一个函数模块,功能用于计算
如果是一些大型的脚本,方便长期维护,这样的写法是非常好的
call 函数A 标签 传递一个数值123
那么函数A就会吧这个数值用于计算,最后返回回去,得儿最终显示结果
那么例B,其实跟例A用法其实一样,但是里面存在了一个返回值的特性
如果您想了解返回值,多研究exit的语句,纯手打!希望对您有帮助!