`
hideto
  • 浏览: 2678168 次
  • 性别: 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;
分享到:
评论

相关推荐

    Mysql手册20-存储过程和函数

    MySQL存储过程和函数是数据库编程的重要组成部分,它们提供了在数据库服务器上执行特定任务的能力。本部分详细介绍了存储程序和函数的各个方面,包括它们的创建、语法、权限控制以及与性能优化相关的概念。 首先,...

    MySQL实验报告5(存储过程与函数)(1)(1).pdf

    根据提供的文件内容,本篇实验报告主要围绕MySQL数据库中存储过程和函数的应用,涵盖了创建存储过程、函数、游标以及异常处理等高级特性。下面将详细解析报告中的每个知识点。 1. 创建存储过程 存储过程是一种在...

    mysql存储过程教程

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列SQL语句并封装成一个可重复使用的单元,从而提高数据处理的效率和代码的复用性。本教程将深入探讨MySQL存储过程的创建、调用以及相关概念...

    mysql经典教程+mysql存储过程讲解

    总的来说,通过学习“mysql经典教程+mysql存储过程讲解”,你不仅可以掌握MySQL的基础操作,还能深入了解如何利用存储过程、触发器和游标来实现更复杂的数据管理策略。这将有助于你成为一名更高效的数据库管理员或...

    全国计算机等级考试二级MySQL数据库程序设计大纲(2018版)

    全国计算机等级考试二级MySQL数据库程序设计大纲(2018版)涵盖了对数据库基础、MySQL数据库操作、编程、管理与维护以及应用开发方面的全面要求,目的是检验应试者的数据库知识和技能。以下是该大纲中包含的知识点...

    MySQL安装创建和维护数据库.docx

    【MySQL安装创建和维护数据库】 在信息技术领域,MySQL是一个广泛使用的开源关系型数据库管理系统,尤其在Web应用程序中。本实验旨在让学习者掌握在Windows环境下安装、配置、启动和维护MySQL 5.6的基本技能,以及...

    实验训练1 在MySQL中创建数据库和表.docx

    "MySQL数据库创建和表创建" 本教程将指导您在MySQL中创建数据库和表,首先需要安装和配置MySQL数据库。 1. MySQL的安装和配置 在安装MySQL之前,需要下载MySQL安装文件,例如mysql-5.5.12-win32.msi。运行该程序...

    MySQL存储过程学习

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复使用的代码块,以提高数据处理的效率和应用程序的性能。在这个"MySQL存储过程学习"的主题中,我们将深入探讨...

    MySQL存储过程编程教程.pdf

    MySQL存储过程编程是数据库应用开发中的一个重要环节,它可以帮助开发者将一系列的数据库操作封装起来,以提高程序的可维护性和运行效率。在MySQL 5.0及以上版本中,存储过程、函数和触发器的支持为数据库提供了更...

    MySql数据库用java程序创建表以及存储过程.pdf

    总结起来,使用Java程序创建MySQL数据库表和调用存储过程主要涉及以下几个步骤: 1. 建立数据库连接。 2. 使用`Statement`接口执行创建表的SQL语句。 3. 使用`CallableStatement`接口执行调用存储过程的SQL语句,并...

    mysql在linux下日常管理维护

    mysql 在 Linux 下日常管理维护 mysql 是一个流行的关系型数据库管理系统,在 Linux 操作系统下广泛应用于...通过 mysql 数据库的日常管理维护,可以确保数据库的安全、稳定和高效运行,为应用程序提供良好的支持。

    精通MySQL存储过程和函数

    ### 精通MySQL存储过程和函数 #### 1. 说明 ##### 1.1 手册适用范围 本手册适用于对MySQL存储过程...通过这些知识点的学习,可以帮助开发者更好地理解和应用MySQL存储过程和函数,从而提高应用程序的性能和安全性。

    mysql存储过程电子书,可以参考

    例如,创建一个接收两个整数参数并返回它们之和的存储过程: ```sql CREATE PROCEDURE AddNumbers(IN num1 INT, IN num2 INT, OUT result INT) BEGIN SET result = num1 + num2; END; ``` 调用这个存储过程,你...

    MySQL存储过程实例教程

    总结起来,MySQL存储过程提供了一种强大而灵活的方式来组织和执行数据库操作,可以提升代码的可读性和可维护性。在PHP中调用存储过程可以简化复杂的数据库交互,尤其是在处理大量数据或需要执行一系列操作时。通过...

    计算机二级《MySQL数据库程序设计》知识点总结.pdf

    6. MySQL存储引擎: - MyISAM:一个只读的存储引擎,提供了快速的读取能力,不支持事务处理。 - InnoDB:一个支持事务处理、外键等高级特性的存储引擎。 7. 全文搜索: - 使用MATCH()和AGAINST()函数进行全文...

    mysql数据库程序设计

    本案例中的"mysql数据库程序设计"是一个关于小型教务管理系统的设计项目,它利用MySQL数据库作为数据存储和管理的核心。MySQL是一种广泛使用的开源关系型数据库管理系统,以其高效、稳定和易用性著称,尤其适合中...

    MySql 数据库用java程序创建表以及存储过程.docx

    MySQL 数据库可以通过 Java 程序进行操作,包括创建表和调用存储过程。以下是关于这个主题的详细说明: 1. **Java与MySQL交互**: Java 通过 JDBC(Java Database Connectivity)API 来与 MySQL 数据库进行通信。...

    mysql存储过程——用于数据库的备份与还原

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许程序员或数据库管理员预编译一系列SQL语句,形成一个可重用的程序单元。在本场景中,我们关注的是如何利用存储过程进行数据库的备份与还原,这在数据管理中至...

Global site tag (gtag.js) - Google Analytics