日期:2014-05-18  浏览次数:20585 次

MySql 存储过程的语法
项目原来用ms sql,现在改为mysql
用c++ 写的项目,ado连接数据库。

从来没用过mysql,听说只需要更改连接字符串,就使用ado的其他部分不用修改了。

在此之前先创建数据库和存储过程:
数据库创建没什么问题。
存储过程就这么也通不过:

drop procedure if exists proc_tblModelInfo_Insert
create procedure proc_tblModelInfo_Insert(
out ID int,
PersonID int,
FilePath nvarchar(256)
)
begin
  insert into ModelInfo('PersonID','FilePath') values(PersonID,FilePath)
  set ID = (select max('id') from ModelInfo)
end;

mysql通不过
求语法,谢谢了





------解决方案--------------------
我两边都来答,加以分号
======================
drop procedure if exists proc_tblModelInfo_Insert ;
DELIMITER $$

create procedure proc_tblModelInfo_Insert(
out ID int,
vPersonID int,
vFilePath nvarchar(256)
)
begin
 insert into ModelInfo(PersonID,FilePath) values(vPersonID,vFilePath);
 set ID = (select max('id') from ModelInfo);
END $$
DELIMITER ;

==================