用MYSQL命令行创建存储过程的方法


  本文标签:MYSQL命令行

  MYSQL命令行的使用是学习MYSQL数据库过程中的基础知识,那么应该如何用MYSQL命令行创建存储过程呢?

  也尝试了一些方法,但是第一个分号mysql就以为语句结束了,就举个例子来说:

  1. CREATE PROCEDURE p7 (IN b INTEGER(12))  
  2.  
  3. begin  
  4.  
  5. declare a INTEGER(12);  
  6.  
  7. set a=5;  
  8.  
  9. INSERT INTO t VALUES (a);  
  10.  
  11. SELECT s1*a FROM t WHERE b<=s1;  
  12.  
  13. End  
  14.  

  这个存储过程,在命令行直接创建的话,在第三排你输入分号后就报错了……因为MYSQL以为这个语句结束了,那对于MYSQL而言

  1. CREATE PROCEDURE p7 (IN b INTEGER(12))  
  2.  
  3. begin  
  4.  
  5. declare a INTEGER(12);  
  6.  

  肯定是个错误语句  。

  然后看了些东西,原来要加分隔符- -……….

  1. DELIMITER //  
  2.  
  3. CREATE PROCEDURE p7 (IN b INTEGER(12))  
  4.  
  5. begin  
  6.  
  7. declare a INTEGER(12);  
  8.  
  9. set a=5;  
  10.  
  11. INSERT INTO t VALUES (a);  
  12.  
  13. SELECT s1*a FROM t WHERE b<=s1;  
  14.  
  15. End  
  16.  
  17. //  
  18.  

  就OK了…………意思就是说在//……//之间的当成一个语句执行所以MYSQL接到的才是这个存储过程完整的创建语句  。