我就是用mysql 编写存储过程。
目标是获得顶层的id。
表结构是:
pid   name    id简单的表数据如下:pid   name    id1       a            22      b             33       c            44       d           5 5       e            6
.         .            ..        .             ..       .              .799    aa       800
800    ab       801就是现在我随意输入一个pid 为3   那么我找到它的最顶层pid  就是 1.我输入的pid 为799  ,那么它的最下级就是800.
现在我想写出存储过程, 就是随意输入pid   分别获得他的升级和下级,这个应该怎么写。
为什么我写的就是报错了呢。
是mysql的数据库。
DELIMITER $$;
CREATE  PROCEDURE  test(IN sid INT,OUT xid INT)
   BEGIN
   DECLARE i INT; 
     SET i=(SELECT id FROM admin WHERE id=sid);
   WHILE i > 0 
   DO
     SET i=(SELECT id FROM admin WHERE id=i);
   END WHILE;  
      SELECT i INTO xid;
   END $$
   DELIMITER ;  
   拜求了!