CURSOR CUR_NAME_1 IS
SELECT WORKER_NAME FROM MST_WORKER
WHERE WORKER_NO IN (SELECT WORKER_NO FROM (SELECT WORKER_NO FROM INP_LINE_WORKER WHERE LINE_NO = X_IN_LINENO ORDER BY WORKER_NO)
);
BEGIN
OPEN CUR_NAME_1;
LOOP
X_NUM := X_NUM + 1;
FETCH CUR_NAME_1 INTO X_WORK_NO(X_NUM);
IF CUR_NAME_1%NOTFOUND THEN
EXIT;
END IF;
END LOOP;
CLOSE CUR_NAME_1;
END;
永远检索出1条,怎么回事?
SELECT WORKER_NAME FROM MST_WORKER
WHERE WORKER_NO IN (SELECT WORKER_NO FROM (SELECT WORKER_NO FROM INP_LINE_WORKER WHERE LINE_NO = X_IN_LINENO ORDER BY WORKER_NO)
);
BEGIN
OPEN CUR_NAME_1;
LOOP
X_NUM := X_NUM + 1;
FETCH CUR_NAME_1 INTO X_WORK_NO(X_NUM);
IF CUR_NAME_1%NOTFOUND THEN
EXIT;
END IF;
END LOOP;
CLOSE CUR_NAME_1;
END;
永远检索出1条,怎么回事?
这条语句查出几条呢
WHERE WORKER_NO IN (SELECT WORKER_NO FROM (SELECT WORKER_NO FROM INP_LINE_WORKER WHERE LINE_NO = X_IN_LINENO ORDER BY WORKER_NO)
);看下这条语句的查询结果…
WHERE WORKER_NO IN (SELECT WORKER_NO FROM (SELECT WORKER_NO FROM INP_LINE_WORKER WHERE LINE_NO = X_IN_LINENO ORDER BY WORKER_NO)
)单独这个的有几条数据
CURSOR CUR_NAME_1 IS
SELECT WORKER_NAME FROM MST_WORKER
WHERE WORKER_NO IN (SELECT WORKER_NO FROM (SELECT WORKER_NO FROM INP_LINE_WORKER WHERE LINE_NO = X_IN_LINENO ORDER BY WORKER_NO)
);
BEGIN
OPEN CUR_NAME_1;
FETCH CUR_NAME_1 bulk collect INTO X_WORK_NO; CLOSE CUR_NAME_1;
END;