当调用下面的存储过程时,我得到了表中的使用异常。
以下是存储过程的代码,
CREATE PROCEDURE SP_BATCHFILE_REPORT_GET001 (
IN countryCode CHAR(2),
IN reportFileID BIGINT
)
RESULT SETS 1
LANGUAGE SQL
SET OPTION COMMIT=*CS
P1: BEGIN
DECLARE cc CHAR(2);
DECLARE fid BIGINT;
-- Declare cursor
DECLARE cursor1 CURSOR FOR
SELECT * FROM CPS_FILE
WHERE COUNTRYCODE = cc
AND ReportFileID = fid
AND ReportGenerated = 'P'
AND Accepted <> '';
SET cc = countryCode;
SET fid = reportFileID;
UPDATE cps_file SET ReportGenerated = 'P'
WHERE COUNTRYCODE = cc
AND ReportFileID = fid
AND ReportGenerated <> 'Y'
AND Accepted <> '';
-- Cursor left open for client application
OPEN cursor1;
END P1 @
我使用DB2作为数据库,没有其他进程同时运行,可以访问存储过程中使用的表。
我收到以下错误, CPSDATA中的行或对象CPS_FILE类型*正在使用的文件。
请建议。