【发布时间】:2014-09-15 12:31:27
【问题描述】:
我是存储过程的新手
DELIMITER //
CREATE PROCEDURE sp_MyNewTable
(IN Mod nvarchar(50),IN Did int,IN startdate datetime,IN enddate datetime)
BEGIN
Declare DateDuration int,
SET actstatus=1,
SET DateDuration = SELECT DATEDIFF(startdate,enddate) as Datediff
insert into mytable (Duration,Module,Deptid,taskstartdate,activestatus) values (DateDuration,Mod,did,enddate,startdate,actstatus)
Select * from mytable
END //
DELIMITER;
如果我执行此操作会出错:
您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 sp_MyNewTable 附近 (IN Mod nvarchar(50),IN Did int,IN startdate datetime,IN enddate datetime)
MYSQL版本是MYSQL 5.1
【问题讨论】:
-
MySQL 4.x 不支持存储过程。
-
存储过程是在 MySQL 5 中引入的。此外……你真的还在 MySQL 4.x 上吗?基于此,我认为您的操作系统已经非常过时并且存在巨大的安全漏洞。
-
顺便说一句,5.0以上的myql的代码是正确的