`
hideto
  • 浏览: 2650440 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL存储程序之创建和维护存储程序

阅读更多
创建和维护存储程序

1,创建和维护存储程序语法
1)CREATE PROCEDURE
CREATE PROCEDURE procedure_name ([parameter[,...])
  [LANGUAGE SQL]
  [ [NOT] DETERMINISTIC]
  [ {CONTAINS SQL|MODIFIES SQL DATA|READS SQL DATA|NO SQL} ]
  [SQL SECURITY {DEFINER|INVOKER}]
  [COMMENT comment_string]
  procedure_statements

/* parameters */
[{IN|OUT|INOUT}] parameter_name datatype

2)CREATE FUNCTION
CREATE FUNCTION function_name ([parameter[,...])
    RETURNS datatype
    [LANGUAGE SQL]
    [ [NOT] DETERMINISTIC]
    [ {CONTAINS SQL|NO SQL|MODIFIES SQL DATA|READS SQL DATA} ]
    [SQL SECURITY {DEFINER|INVOKER}]
    [COMMENT comment_string]
    function_statements

3)CREATE TRIGGER
CREATE [DEFINER = {user|CURRENT_USER}] TRIGGER trigger_name
    {BEFORE|AFTER}
    {UPDATE|INSERT|DELETE}
    ON table_name
    FOR EACH ROW
    trigger_statements

4)ALTER PROCEDURE/FUNCTION
ALTER {PROCEDURE|FUNCTION} procedure_or_function_name
    [SQL SECURITY {DEFINER|INVOKER}]
    [COMMENT comment_string]

5)DROP PROCEDURE/FUNCTION/TRIGGER
DROP {PROCEDURE|FUNCTION|TRIGGER} {IF EXISTS} program_name


2,存储程序的分号问题
MySQL使用分号“;”作为SQL语句的结束,但是存储程序的代码块里面经常也需要用到分号,这样就会导致错误:
mysql > CREATE PROCEDURE HelloWorld()
     -> BEGIN
     ->   SELECT 'Hello World';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'SELECT 'Hello
World'' at line 3
mysql >

为了避免此错误,可以使用DELIMITER语句修改分隔符:
mysql > DELIMITER $$

mysql > CREATE PROCEDURE HelloWorld()
     -> BEGIN
     ->    SELECT 'Hello World';
     -> END$$
Query OK, 0rows affected (0.00 sec)


3,显示存储程序信息
显示PROCEDURE/FUNCTION STATUS
SHOW {PROCEDURE|FUNCTION} STATUS [LIKE pattern]

显示存储过程和存储function信息
select * from information_schema.routtines;

显示trigger信息
select * from information_schema.triggers;
分享到:
评论

相关推荐

    mysql5.1中文手册

    mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:...

    mysql8中文参考手册

    Mysql词汇,如何使用MySQL的MySQL客户端程序来创建和使用一个简单的数据库。 备份你的数据库,你可以恢复你的数据,并在问题发生时再运行至关重要,如系统崩溃,硬件故障,或用户误删除数据。备份也基本为维护升级...

    基于SQL语言MySQL数据库应用程序及其代码方案

    基于SQL语言MySQL数据库应用程序及其代码方案; MySQL是一种关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle...8. 支持存储过程和触发器:MySQL支持创建存储过程和触发器,简化了数据库编程和维护工作

    MySQL 5.1中文手冊

    8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示MyISAM...

    MySQL 5.1参考手册

    8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示MyISAM...

    MySQL 5.1参考手册中文版

    8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示...

    MySQL 5.1参考手册 (中文版)

    8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示MyISAM...

    MySQL 5.1官方简体中文参考手册

    8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示MyISAM...

    MYSQL

    11 MySQL 基准套件 12 MySQL 实用程序 12.1 各种 MySQL 程序概述 12.2 管理一个 MySQL 服务器 12.3 从 MySQL 数据库和表中倒出(dump)结构和数据 12.4 从文本文件导入数据 12.5 MySQL ...

    MySql 5.1 参考手册.chm

    8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示MyISAM...

    MYSQL中文手册

    8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示...

    mysql存储过程快速了解

    难以调试,开发和维护难度高,增加数据库服务器开销。 创建存储过程及其一些相关语法: -- 创建一个存储过程,名为mypro;传入参数(参数)为a,传出参数(返回值)为b create procedure mypro(in a int,out b int) ...

    MySQL中文参考手册.chm

    11 MySQL 基准套件 12 MySQL 实用程序 12.1 各种 MySQL 程序概述 12.2 管理一个 MySQL 服务器 12.3 从 MySQL 数据库和表中倒出(dump)结构和数据 12.4 从文本文件导入数据 12.5 ...

    mysql官方中文参考手册

    8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示MyISAM...

    MySQL中文参考手册

    * 3 MySQL的许可证和技术支持 o 3.1 MySQL的许可证政策 o 3.2 MySQL 使用的版权 + 3.2.1 可能的未来版权改变 o 3.3 MySQL商业性分发 o 3.4 许可证实例 + 3.4.1 销售使用 MySQL的产品 + 3.4.2 销售MySQL相关...

    MySQL5.1参考手册官方简体中文版

    8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示MyISAM...

    数据库程序设计(共22章-PPT格式),内容很不错

    第1章 SQL Server 概述 ...第14章 创建和维护索引 第15章 实现视图 第16章 实现存储过程 第17章 实现用户定义函数 第18章 实现触发器 第19章 多服务器编程 第20章 优化查询性能 第21章 分析查询 第22章 管理事务和锁

    MySQL总结流程图大全

    它是一个开源项目,由瑞典公司MySQL AB创建和维护。MySQL使用SQL语言来存储、查询和管理数据。 MySQL具有以下特点: 1.跨平台:支持多个操作系统,例如Linux、Windows和Mac OS等; 2.高效性:可处理大量数据,并且...

Global site tag (gtag.js) - Google Analytics