mysql游标未加载变量

mysql游标未加载变量,mysql,cursor,Mysql,Cursor,我在下面的代码中无法使FETCH语句正常工作。它实际上并没有将任何数据放入变量registerName。registerName的值与FETCH语句之前的值相同。谢谢 -- Declare variables/cursors needed for building pivot query DECLARE qry VARCHAR(8000); DECLARE registerName VARCHAR(128) DEFAULT ''; DECLARE done BOOLEAN DEFAULT 0;

我在下面的代码中无法使FETCH语句正常工作。它实际上并没有将任何数据放入变量registerName。registerName的值与FETCH语句之前的值相同。谢谢

-- Declare variables/cursors needed for building pivot query
DECLARE qry VARCHAR(8000);
DECLARE registerName VARCHAR(128) DEFAULT '';
DECLARE done BOOLEAN DEFAULT 0;

DECLARE registers CURSOR
FOR
SELECT RegisterName
FROM Register r
INNER JOIN EgaugeDevice ed ON ed.id = r.EgaugeDeviceId
INNER JOIN Site s ON s.id = ed.SiteId
INNER JOIN Facility f ON f.id = s.FacilityId
WHERE ShowInSite = 1 AND FacilityName = FACILITY;

DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done=1;

-- Use temporary table to get results from instantaneous view
CREATE TEMPORARY TABLE IF NOT EXISTS instData (
    id INT,
    RegisterId INT,
    InstantaneousValue BIGINT,
    Date_Time DATETIME,
    Time_Stamp BIGINT
);

TRUNCATE TABLE instData;

INSERT INTO instData(id, RegisterId, InstantaneousValue, Date_Time, Time_Stamp)
SELECT id, RegisterId, InstantaneousValue, Date_Time, Time_Stamp
FROM vRegisterDataInstantaneous
WHERE Date_Time >= now() - INTERVAL 1 DAY
ORDER BY Time_Stamp DESC;

-- build pivot query from registers listed in Register table
OPEN registers;

FETCH registers INTO registerName;

select registerName AS Test;

CLOSE registers;

列和变量
RegisterName
是否可能不具有相同的名称?这可能会引起冲突,

就是这样。我把registerName改成了reg,现在可以用了