爱程序网

MySQL存储过程和函数

来源: 阅读:

存储过程和函数:

创建示例代码:

DELIMITER $$CREATE PROCEDURE proc(IN c_id INT, IN c_name VARCHAR(20), OUT count INT)READS SQL DATABEGIN    SELECT *    FROM course    WHERE cou_no = c_id    OR cou_name = c_name;    SELECT FOUND_ROWS() INTO count;END $$DELIMITER

另:

1、存储过程或函数可以调用其他的过程或函数。

2、{READS SQL DATA|MODIFIES SQL DATA|NO SQL|CONTAINS SQL}:这些特征值提供子程序使用数据的内在信息,这些特征值目前只是提供给服务器,并没有根据这些特征值来约束过程实际使用数据的情况。

  • READS SQL DATA:表示子程序包含读数据的语句,但不包含写数据的语句。
  • MODIFIES SQL DATA:表示子程序包含写数据的语句。
  • NO SQL:表示子程序不包含SQL语句。
  • CONTAINS SQL:表示子程序不包含读或者写数据的语句。

如果这些特征没有明确给定,默认使用的值是CONTAINS SQL。  

测试代码(分别执行):

CALL proc(1,'信息系统',@a);SELECT @a;

删除存储过程或者函数代码:

DROP PROCEDURE proc;

NAVICAT创建存储过程和函数过程:

1、点击函数,新建函数

2、选择“过程”

3、开始编辑存储过程或函数

4、点击“保存”,填写名称

触发器:

创建代码:

DELIMITER $$CREATE TRIGGER triAFTER INSERT ON course FOR EACH ROWBEGIN    INSERT INTO t1(inf)         VALUES("course表插入了一条数据");END;$$DELIMITER ;

测试结果:

course表插入一条数据:

course表插入触发器触发:

相关文章列表:
关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助