delimiter //
CREATE PROCEDURE dnt_createpm()
begin
declare pmid int;
declare msgfrom varchar(20);
declare msgto varchar(20);
declare msgfromid int;
declare msgtoid int;
declare folder smallint default 0;
declare `new` int default 0;
declare subject varchar(60);
declare postdatetime datetime;
declare message text;
declare savetosentbox smallint default 1;
IF folder<>0 then
SET msgfrom=msgto;
ELSE
UPDATE dnt_users SET newpmcount=ABS(ISNULL(newpmcount,0)*1)+1,newpm = 1 WHERE uid=msgtoid;
END IF;INSERT INTO dnt_pms
(msgfrom,msgfromid,msgto,msgtoid,folder,new,subject,postdatetime,message)
VALUES
(msgfrom,msgfromid,msgto,msgtoid,folder,`new`,subject,postdatetime,message);

SELECT SCOPE_IDENTITY() AS 'pmid';IF savetosentbox=1 AND folder=0 then
INSERT INTO dnt_pms
(msgfrom,msgfromid,msgto,msgtoid,folder,new,subject,postdatetime,message)
VALUES
(msgfrom,msgfromid,msgto,msgtoid,1,`new`,subject,postdatetime,message);
END IF;
end;//上面的存储过程是MSSQL改过来的
UPDATE dnt_users SET newpmcount=ABS(ISNULL(newpmcount,0)*1)+1,newpm = 1 WHERE uid=msgtoid;报错
报错信息为:Incorrect parameter count in the call to native function 'ISNULL'
高手给改改