使用insert查询设置过程MySQL 5.5时出错
将错误设置为“error 1064(42000):您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以获取正确的语法使用方法” 我在编码中没有发现任何错误的语法,但仍然无法找到问题使用insert查询设置过程MySQL 5.5时出错,mysql,asp.net,Mysql,Asp.net,将错误设置为“error 1064(42000):您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以获取正确的语法使用方法” 我在编码中没有发现任何错误的语法,但仍然无法找到问题 CREATE PROCEDURE sp_GetAssignTask(IN module varchar(100),IN did int,IN actstatus int,IN act varchar(30),IN sdate datetime,IN edate datetime,OUT outmsg
CREATE PROCEDURE sp_GetAssignTask(IN module varchar(100),IN did int,IN actstatus int,IN act varchar(30),IN sdate datetime,IN edate datetime,OUT outmsg varchar(20))
BEGIN
DECLARE DateDuration int;
SET DateDuration = SELECT DATEDIFF(edate, sdate) ;
insert into sch_taskassigned (Duration,Module,Content,Deptid,taskenddate,taskstartdate,activestatus,activity,subactivity)values (DateDuration,modul,conte,did,edate,sdate,actstatus,act,subact);
set outmsg = 'Added Successfully';
END
我从中看到的唯一语法问题是
SET DateDuration=(选择DATEDIFF(edate,sdate))注意,我在等号后面加了()
此外,根据您正在执行此操作的客户端,您可能需要更改分隔符,例如:
DELIMITER $$
CREATE PROCEDURE sp_GetAssignTask(IN module varchar(100),IN did int,IN actstatus int,IN act varchar(30),IN sdate datetime,IN edate datetime,OUT outmsg varchar(20))
BEGIN
DECLARE DateDuration int;
SET DateDuration = (SELECT DATEDIFF(edate, sdate));
insert into sch_taskassigned (Duration,Module,Content,Deptid,taskenddate,taskstartdate,activestatus,activity,subactivity)values (DateDuration,modul,conte,did,edate,sdate,actstatus,act,subact);
set outmsg = 'Added Successfully';
END
$$