我编写了以下过程,但是无法将存储过程的结果设置为变量:@pZipID和@pCountyID。我已经尝试将存储过程嵌套在括号中。也就是说:
SET @pCountyID = (CALL addCounty(pCounty));
我也尝试过:
CALL addCounty(pCounty) INTO @pCountyID
但无济于事。这是整个存储过程:
DROP PROCEDURE IF EXISTS readZipAndCountyIntoTables;
DELIMITER //
CREATE PROCEDURE getCountyNameFromZip(pZipcode VARCHAR(16), pCounty VARCHAR(250))
BEGIN
DECLARE pZipID INT DEFAULT 0;
DECLARE county_id INT DEFAULT 0;
SET @pZipID = CALL addZipcode(pZipcode);
SET @pCountyID = CALL addCounty(pCounty);
CALL addZipToCounty(pZipID, pCountyID);
END//
DELIMITER ;
MySql在查找错误方面绝对没用。如果我发生了一个小的语法问题,请告诉我,因为我知道它是声明或设置有问题。我取出了设置和声明并调用了存储过程,没有发生错误。
如果您需要更清晰,请告诉我是否需要查看其他存储过程。但他们已经过彻底的测试。
感谢任何帮助。提前谢谢。