CREATE DEFINER=`root`@`localhost` FUNCTION `f1`(m int) RETURNS int(11)
BEGIN
DECLARE t  int; /*--declare定义局部变量**/
set t=rand()*10;    /*'set'用来赋值*/
set m=t;
return m;
END;上面的创建成功了.  mysql query browser工具中使用的使用:select f1(11)多次执行后,就会卡死了,请问我的过程是对的吗?

解决方案 »

  1.   

    set m=t;  有什么意义?
      

  2.   


    -- 那你直接 return t 不就得了?
      

  3.   


    create procedure DeleteUser(IN ids VARCHAR(100))
    begin
         DECLARE strsql varchar(100);     
         SET strsql= CONCAT('update t2 set b=1 where a in (',ids ,')');     
         SET @sql1=strsql;     
         PREPARE stmt_p FROM @sql1;     
         EXECUTE stmt_p; 
    end;