存储过程如下:
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
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
FIND_IN_SET()试试
达到了效果,请问为什么不能直接在where条件中使用变量呢那?