我是个新手 找了一下午错误了 头大了 请高手指点 到底是哪里错了。。DELIMITER $$CREATE PROCEDURE `pr_addshieldstateparam`(
IN mobile VARCHAR(60),
IN sendNo VARCHAR(60),
IN reason VARCHAR(200),
IN jobNumber VARCHAR(60))
BEGIN
DECLARE resultCode VARCHAR(2);
-- DECLARE resultDesc VARCHAR(500);
SET autocommit = 0;
IF sendNo IS NULL THEN
SET sendNo='';
END IF;
IF reason IS NULL THEN
SET reason='';
END IF;
IF sendNo='' THEN
SELECT -1 AS resultCode;
ELSEIF
INSERT INTO shieldstate(mobile,sendno,reason,jobnumber)
VALUES (mobile,sendNo,reason,jobNumber);
INSERT INTO shieldstate_log(mobile,sendno,reason,jobnumber,operation)
VALUES (mobile,sendNo,reason,jobNumber,'0');
IF @@warning_count <> 0 ||@@error_count>0
THEN
ROLLBACK;
SELECT -2 AS resultCode;
ELSE
COMMIT;
SELECT 0 AS resultCode;
END IF; END IF;
END$$DELIMITER ;报错信息:
Query : CREATE PROCEDURE `pr_addshieldstateparam`( IN mobile varchar(60), in sendNo varchar(60), in reason varchar(200), in jobNumber v...Error Code : 1064
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 'into shieldstate(mobile,sendno,reason,jobnumber)
values (mobile,sendNo,reason,' at line 19
IN mobile VARCHAR(60),
IN sendNo VARCHAR(60),
IN reason VARCHAR(200),
IN jobNumber VARCHAR(60))
BEGIN
DECLARE resultCode VARCHAR(2);
-- DECLARE resultDesc VARCHAR(500);
SET autocommit = 0;
IF sendNo IS NULL THEN
SET sendNo='';
END IF;
IF reason IS NULL THEN
SET reason='';
END IF;
IF sendNo='' THEN
SELECT -1 AS resultCode;
ELSEIF
INSERT INTO shieldstate(mobile,sendno,reason,jobnumber)
VALUES (mobile,sendNo,reason,jobNumber);
INSERT INTO shieldstate_log(mobile,sendno,reason,jobnumber,operation)
VALUES (mobile,sendNo,reason,jobNumber,'0');
IF @@warning_count <> 0 ||@@error_count>0
THEN
ROLLBACK;
SELECT -2 AS resultCode;
ELSE
COMMIT;
SELECT 0 AS resultCode;
END IF; END IF;
END$$DELIMITER ;报错信息:
Query : CREATE PROCEDURE `pr_addshieldstateparam`( IN mobile varchar(60), in sendNo varchar(60), in reason varchar(200), in jobNumber v...Error Code : 1064
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 'into shieldstate(mobile,sendno,reason,jobnumber)
values (mobile,sendNo,reason,' at line 19
解决方案 »
- 我已经有查询结果的索引了,怎么用一条select语句获取索引的所有数据
- 为什么这2段sql查询的结果不一样,很奇怪的问题,请大家帮忙分析下
- mysql在like中关键字设定的问题
- 求教一个让我郁闷半天的问题~在线等,急~~=====
- 查找某一记录的上一条记录或下一条记录该如何写?
- mysql中时间函数的问题请教
- MYSQL数据库,一般应用于什么地方?
- 【求助】 mysql 统计每三天的分娄为一条数据,要怎么写sql语句?
- 向一个表一次写入一个2M的文件,会不会影响数据库性能?
- 关于触发器trigger的问题,触发器的触发条件是否可以限制在满足条件的某几行
- 求解释啊欲哭无泪看不懂 mysql实现分组后组内排序
- MySql+C#可以使用?号当参数吗
IN mobile VARCHAR(60),
IN sendNo VARCHAR(60),
IN reason VARCHAR(200),
IN jobNumber VARCHAR(60))
BEGIN
DECLARE resultCode VARCHAR(2);
-- DECLARE resultDesc VARCHAR(500);
SET autocommit = 0;
IF sendNo IS NULL THEN
SET sendNo='';
END IF;
IF reason IS NULL THEN
SET reason='';
END IF;
IF sendNo='' THEN
SET resultCode=-1 ;
ELSE
INSERT INTO shieldstate(mobile,sendno,reason,jobnumber)
VALUES (mobile,sendNo,reason,jobNumber);
INSERT INTO shieldstate_log(mobile,sendno,reason,jobnumber,operation)
VALUES (mobile,sendNo,reason,jobNumber,'0');
END IF;
IF @@warning_count <> 0 AND @@error_count>0 THEN
ROLLBACK;
SELECT -2 AS resultCode;
ELSE
COMMIT;
SELECT 0 AS resultCode;
END IF; -- END IF;
END$$DELIMITER ;
SELECT -1 AS resultCode;
ELSE
INSERT INTO shieldstate(mobile,sendno,reason,jobnumber)
VALUES (mobile,sendNo,reason,jobNumber);
INSERT INTO shieldstate_log(mobile,sendno,reason,jobnumber,operation)
VALUES (mobile,sendNo,reason,jobNumber,'0');ELSEIF的语法不是这样。