Query : CREATE /*[DEFINER = { user | CURRENT_USER }]*/ PROCEDURE `insist`.`InsertRecord`( _userId INT, _categoryId INT, _d...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 'declare _STATUS int;
select `status` into _STATUS from record where userid=_us' at line 30Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
---------------------------------------------------DELIMITER $$CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `insist`.`InsertRecord`( _userId INT,
_categoryId INT,
_date DATETIME,
_value INT)
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
IF _value=0 THEN
INSERT INTO `insist`.`record`
(`Id`,
`UserId`,
`CategoryId`,
`Date`,
`EachDay`,
`Status`)
VALUES ('Id',
_UserId ,
_CategoryId ,
_Date ,
_VALUE,
0);
END IF;
IF _VALUE=1 THEN
DECLARE _STATUS INT;
SELECT `status` INTO _STATUS FROM record WHERE userid=_userid AND categoryid=_categoryid AND TO_DAYS(_date)-TO_DAYS(`date`)=1;
IF _STATUS IS NULL THEN
_status=0;
END IF
INSERT INTO `insist`.`record`
(`Id`,
`UserId`,
`CategoryId`,
`Date`,
`EachDay`,
`Status`)
VALUES ('Id',
_UserId ,
_CategoryId ,
_Date ,
_VALUE,
_STATUS+1);
END IF; END$$DELIMITER ;
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 'declare _STATUS int;
select `status` into _STATUS from record where userid=_us' at line 30Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
---------------------------------------------------DELIMITER $$CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `insist`.`InsertRecord`( _userId INT,
_categoryId INT,
_date DATETIME,
_value INT)
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
IF _value=0 THEN
INSERT INTO `insist`.`record`
(`Id`,
`UserId`,
`CategoryId`,
`Date`,
`EachDay`,
`Status`)
VALUES ('Id',
_UserId ,
_CategoryId ,
_Date ,
_VALUE,
0);
END IF;
IF _VALUE=1 THEN
DECLARE _STATUS INT;
SELECT `status` INTO _STATUS FROM record WHERE userid=_userid AND categoryid=_categoryid AND TO_DAYS(_date)-TO_DAYS(`date`)=1;
IF _STATUS IS NULL THEN
_status=0;
END IF
INSERT INTO `insist`.`record`
(`Id`,
`UserId`,
`CategoryId`,
`Date`,
`EachDay`,
`Status`)
VALUES ('Id',
_UserId ,
_CategoryId ,
_Date ,
_VALUE,
_STATUS+1);
END IF; END$$DELIMITER ;
解决方案 »
- 这句语句应该怎么写?
- 筛选表中多个字段的数据是否重复...
- 怎么让表自动增长字段重新按1开始增长
- 查询问题?
- 急急急!MSSQL能否實現編碼的轉換?
- 如何修改數據庫的collation從Chinese_Taiwan_Stroke_CI_AS到Chinese_Taiwan_Stroke_BIN
- 怎样连接SQL Server2000?
- 怎样在text、varchar字段中匹配回车换行?????
- 这个问题,看来的解决难较大了!!!好几天了也没有好办法!!!
- 关于Oracle 8.16中创建临时表的SQL命令 ?
- 在存储过程中,执行了查询,不能再执行插入吗?
- 连接不上SQL Server,求帮助~~~
DECLARE _STATUS INT;
SELECT `status` INTO _STATUS FROM record WHERE userid=_userid AND categoryid=_categoryid AND TO_DAYS(_date)-TO_DAYS(`date`)=1;
IF _STATUS IS NULL THEN
_status=0;
END IF
这里DECLARE _STATUS INT; 不能嵌套在IF ..END IF语句里面