这是MsSQL下的存储过程,运行正常,传一个用户ID,取出该用户的好友列表信息ALTER PROCEDURE [dbo].[friend_GetList]
@uId int
AS
BEGIN
select ui.id, ui.pic, ui.userName, ui.nickName, ui.gold, ui.[level]
from friend f
inner join userInfo ui on ui.id = f.fId
where f.uId = @uId
order by ui.[level] desc

END由于公司把数据库换成MYSQL了,上面这个存储过程需要转成MYSQL下能识别的,不知道该如何转?下面是我大致写的,@in_uId则是要传入的参数,该如何定义啊?begin
select ui.id, ui.pic, ui.userName, ui.nickName, ui.gold, ui.level
from friend f
inner join userInfo ui on ui.id = f.fId
where f.uId = @in_uId
order by ui.level desc;
end

解决方案 »

  1.   


    DELIMITER $$DROP PROCEDURE IF EXISTS `csdn`.`sp_test`$$CREATE PROCEDURE `csdn`.`sp_test`(
     uId int
    )
    BEGIN
    select ui.id, ui.pic, ui.userName, ui.nickName, ui.gold, ui.`level`
    from friend f
    inner join userInfo ui on ui.id = f.fId
    where f.uId = uId
    order by ui.`level` desc;
    END$$DELIMITER ;
      

  2.   

    我是用Navicat for mysql来写的存储过程。
    还是保存,提示用工具写存储过程,不能要
    CREATE PROCEDURE `csdn`.`sp_test`
    不过没有这个,该如何定义那个uId啊?
      

  3.   

    我不是给你转好了吗?? 就这样定义UID啊?? 与工具没有多大关系!!