我正在尝试使用如下分隔符在MySQL中创建存储过程:
use am; DELIMITER $$ CREATE PROCEDURE addfields() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE acc INT(16); DECLARE validId INT DEFAULT 0; END $$ DELIMITER ;
它给我一个错误:
#1304 - PROCEDURE addfields already exists
用分隔符创建存储过程并将其删除(如果存在的话)的正确语法是什么?
这是带有分隔符的示例 MYSQL存储过程 以及如何调用。
DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_user_login` $$ CREATE DEFINER=`root`@`%` PROCEDURE `sp_user_login`( IN loc_username VARCHAR(255), IN loc_password VARCHAR(255) ) BEGIN SELECT user_id, user_name, user_emailid, user_profileimage, last_update FROM tbl_user WHERE user_name = loc_username AND password = loc_password AND status = 1; END $$ DELIMITER ;
并通过mysql_connection规范进行调用,
$loginCheck="call sp_user_login('".$username."','".$password."');";
它将返回该过程的结果。