MySQL 的存储过程 procedure 与 函数 function 的区别和使用方法
来源:互联网 发布:淘宝手机怎么复制链接 编辑:程序博客网 时间:2024/05/17 22:30
Mysql 的 function 和 procedure 有啥区别呢 ? 网上搜索后说 function 有返回值, procedure 无返回值。
从function 的语法角度来说确实如此, function 的定义中有 return 一项,如下所示
然后再C语言中使用的时候我们可以 SELECT spr_checkadmin('acckey', 'accpwd') 来得到该返回值。
其实 procedure 也可以得到返回值, 且得到的方法有两种, 一种是通过类似function 的功能来得到返回值, 一种是通过输出参数的方式来得到返回值,比如有多个返回值的时候用输出参数的方式也很好。
杀猪杀尾巴, 各有各的方法。
下面通过返回值来调用存储过程:
看见上面代码中的 SELECT (-1) 或者 SELECT 0, pkgid,regdate,logindate 了吗 ?
这样的方式可以在记录集中返回一个值, 我们只要取到这个值即可。 效果与FUNCTION 中的 RETURN(-1) 是一样的。
下面介绍一下通过输出参数来实现多个输出的情况 :
通过C调用存储过程如下
strcpy(query,"call querystudent ('token',@fileid,@fileext)");
mysql_real_query (&mysql, query, strlen(query));
mysql_query(&mysql, "SELECT @fileid,@fileext");
这样在返回的记录集中就可以得到输出参数的值。
是不是很简单。
MYSQL 有很多内置的函数, 最常用的就是 ROW_COUNT() 取得影响的行数,
LAST_INSERT_ID() 返回最近一次插入的记录的自动增长的ID。
另外还需要注意, 要让MYSQL 的query 可以执行 存储过程, 需要把 mysql_real_connect 的最后一个参数设置为
CLIENT_MULTI_STATEMENTS, 否则会报错。
- MySQL 的存储过程 procedure 与 函数 function 的区别和使用方法
- MySQL 的存储过程 procedure 与 函数 function 的区别和使用方法
- MySQL 的存储过程 procedure 与 函数 function 的区别和使用方法
- 存储过程(PROCEDURE)和函数(FUNCTION)的区别。
- MySQL procedure 与 function 的区别 , MySQL存储过程中的3种循环
- oracle数据库的存储过程PROCEDURE与函数FUNCTION示例
- 【Oracle】存储过程(Procedure)与(自定义)函数(Function)的区别
- the different between function and procedure in oracle oracle 中函数和存储过程的区别
- Oracle 存储过程(procedure)和函数(Function)的区别
- Oracle存储过程procedure与函数function区别
- 存储过程procedure 与 存储函数function
- mysql 存储过程 (procedure)和常用函数(function)
- mysql中procedure与function的区别
- oracle 存储过程 PROCEDURE和 FUNCTION区别:
- 怎样使用为存储过程procedure和函数function的参数指定的默认值
- FUNCTION和PROCEDURE的区别
- Mysql的存储过程procedure
- C/C++的函数(Function)与过程(Procedure)
- Java 基本概念
- 对Java中Native关键字的认识
- eclipse打开ant build.xml报错
- 与Android源代码编辑相关的一切操作介绍
- IRP中文意思就是I/O请求包
- MySQL 的存储过程 procedure 与 函数 function 的区别和使用方法
- ABAP 解析XML文档
- GDI+ 基础(二)画刷简介
- VC文件操作
- Ubuntu10.10下搭建Android 2.2编译环境
- [转]在Linux服务器上手工释放内存
- 对Android NDK的理解
- 这个数据库的结构设计
- SGA_MAX_SIZE与SGA_TARGET