游标改成不同的名字了,还是不可以,而且把第一个游标声明为GLOBAL,第二个游标声明为LOCAL,但是提示第二个游标不存在。

解决方案 »

  1.   

    我觉得是你这块的问题:第二个存储过程的:
    EXEC dbo.up_getcommontreenode @i_table,@i_col_unit,@i_col_id,@i_col_supid,@i_col_name,@id,@i_unit_id,@i_level 在这里又要调用up_getcommontreenode ,然后又声明cur_tree 这个游标,自然回出问题的。
      

  2.   

    如果不使用动态游标是没有问题,在两个存储过程里面都把游标声明成local的,是可以的。现在我想做成动态的,根据传进来的表名和字段名来select。第二个存储过程是自己调用,递归的。因为要根据上级取下级,我只想到了这个办法。