存储过程如下:
CREATE PROCEDURE UPDATEGCCELL()
BEGIN
DECLARE DNLIST varchar(255);
DECLARE IDLIST varchar(255);
DECLARE DN varchar(255); 
DECLARE gccellIndex CURSOR
FOR
 SELECT mds6800v5_gccell.dn AS gccellDN, mds6800v5_gccell.szBaseCellList AS CELLLIST FROM mds6800v5_gccell;
CREATE TABLE IF NOT EXISTS TEMPTABLE(dn varchar(255) default null, celllist text default null); OPEN gccellIndex;
FETCH gccellIndex INTO DN, IDLIST;

SELECT group_concat(mds6800v5_cell.dn) INTO DNLIST from mds6800v5_cell where mds6800v5_cell. szCellId in (IDLIST);
INSERT INTO TEMPTABLE(dn,celllist) values(DN,DNLIST);
CLOSE gccellIndex;

END上述标红的地方使用变量作为查询条件赋值时查不到任何记录,请问怎么解决?存储cursor

解决方案 »

  1.   

     IDLIST:内容是什么
    FIND_IN_SET()试试
      

  2.   

     where FIND_IN_SET(mds6800v5_cell. szCellId,IDLIST);
      

  3.   

    报错了:[Err] 1054 - Unknown column 'IDLLIST' in 'where clause'
      

  4.   

    检查一下变量名,是IDLIST还是IDLLIST
      

  5.   


    达到了效果,请问为什么不能直接在where条件中使用变量呢那?
      

  6.   

    IN要用字符串累加生成SQL语句,再执行的方法