MySQL创建存储过程(CREATE PROCEDURE)的完整语法和示例

分类:知识百科 日期: 点击:0

MySQL中创建存储过程的完整语法如下:

CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE proc_name
    [ (parameter_list) ]
    [ characteristic ... ] routine_body

characteristic:
    COMMENT 'string'
    | LANGUAGE SQL
    | [NOT] DETERMINISTIC
    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
    | SQL SECURITY { DEFINER | INVOKER }

其中,DEFINER用于指定存储过程的执行者,可以是当前用户或指定的用户;parameter_list用于指定存储过程的参数,可以是IN、OUT或INOUT参数;routine_body用于指定存储过程的具体实现,可以是一条或多条SQL语句。

下面是一个示例:

CREATE PROCEDURE GetEmployeeInfo(IN emp_id INT, OUT emp_name VARCHAR(50), OUT emp_salary INT)
BEGIN
    SELECT name, salary INTO emp_name, emp_salary 
    FROM Employee
    WHERE id = emp_id;
END

该示例定义了一个名为GetEmployeeInfo的存储过程,该存储过程接受一个IN参数emp_id,并返回两个OUT参数emp_name和emp_salary。存储过程的具体实现是从Employee表中查询给定id的员工信息,并将查询结果赋值给OUT参数。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。