如何编写用于在mysql中创建存储过程的查询

时间:2010-04-20 11:02:41

标签: mysql

如何编写用于在mysql中创建存储过程的查询

4 个答案:

答案 0 :(得分:2)

创建存储过程的一个非常简单的方法是使用MySQL Query Browser之类的东西。我一直使用这个工具来编写存储过程和函数。

使用该工具,您可以执行以下操作:

  1. 右键单击要在其中创建proc / func的Schemata选项卡中的数据库。

  2. 选择“创建新的存储过程/功能”或键入CTRL-P。

  3. 输入程序/功能的名称。

  4. 点击创建程序创建功能按钮。

  5. 这将创建一个骨架存储过程或函数,其中包含为您编写的所有DELIMITER和DROP PROCEDURE / DROP FUNCTION行。如果需要,你可以调整它们,但我通常不需要这样做。

    然后你可以充实proc / func并点击执行,假设你没有语法错误,你就有了一个存储过程。

    它生成的骨架存储过程如下所示:

    DELIMITER $$
    
    DROP PROCEDURE IF EXISTS `database-name`.`proc-name` $$
    CREATE PROCEDURE `database-name`.`proc-name` ()
    BEGIN
    
    END $$
    DELIMITER ;
    

    希望有所帮助。

    注意:按钮文本和提示可能会在工具版本之间略有不同,但在其他方面的工作方式相同。

答案 1 :(得分:1)

答案 2 :(得分:1)

DELIMITER $$

CREATE PROCEDURE prc_filler (cnt INT)
BEGIN
       SELECT  name
       FROM    data;
END
$$

DELIMITER ;

答案 3 :(得分:0)

一些简单的例子:

 delimiter ;

 drop procedure if exists get_user;

 delimiter #

 create procedure get_user
 (
   in p_user_id int unsigned
 )
 begin
   select * from users where user_id = p_user_id;
 end #

 delimiter ;


 drop procedure if exists list_users;

 delimiter #

 create procedure list_users()
 begin
   select * from users order by username;
 end #

 delimiter ;