idtable :
CREATE TABLE  `dsdvrdb`.`idtable` (
  `ID` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_GetBiggestID`
(
out id bigint
)
BEGIN
declare @dd bigint;
select @dd=id from idtable limit 1;
set id=@dd;
END $$我只是想用存储过程得到查询的id,哪里错了?

解决方案 »

  1.   

    set @dd=(select id from idtable limit 1);
      

  2.   


    CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_GetBiggestID`
    (
    out oid bigint
    )
    BEGIN
    declare dd bigint;
    select id into dd from idtable limit 1;
    set oid:=dd;
    END $$
      

  3.   

    or
    select id into @dd from idtable limit 1;
      

  4.   


    CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_GetBiggestID`
    (
    out id bigint
    )
    BEGIN
    select @dd:=id from idtable limit 1;
    set id=@dd;
    END $$
      

  5.   

    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html