FUNCTION FILL_KNJKIORRK(V_PATIENTID IN VARCHAR2
) RETURN VARCHAR2 IS
strCondition VARCHAR2(50) := '';
RefCur_KnjKioRrk CursorType;
strTemp VARCHAR2(50) := '';
strKnjkiorrk VARCHAR2(32767):='';
BEGIN
IF V_PATIENTID IS NOT NULL THEN
strCondition := strCondition || 'PATIENT_ID = ''' || V_PATIENTID ||'''';
END IF;
IF strCondition IS NOT NULL THEN
strCondition := ' WHERE ' || strCondition ;
END IF;
OPEN RefCur_KnjKioRrk FOR 'SELECT
PAST_NAME KnjKioRrk
FROM
TOS_D_PATIENT_PAST
' || strCondition ;
LOOP
FETCH RefCur_KnjKioRrk INTO strTemp;
EXIT WHEN RefCur_KnjKioRrk%NOTFOUND;
IF strKnjkiorrk IS NULL THEN
strKnjkiorrk := strTemp;
ELSE
strKnjkiorrk := strKnjkiorrk || '丄'|| strTemp;
END IF;
END LOOP;
RETURN strKnjkiorrk;
END FILL_KNJKIORRK;上面红颜色的区域,是什么意思啊?
) RETURN VARCHAR2 IS
strCondition VARCHAR2(50) := '';
RefCur_KnjKioRrk CursorType;
strTemp VARCHAR2(50) := '';
strKnjkiorrk VARCHAR2(32767):='';
BEGIN
IF V_PATIENTID IS NOT NULL THEN
strCondition := strCondition || 'PATIENT_ID = ''' || V_PATIENTID ||'''';
END IF;
IF strCondition IS NOT NULL THEN
strCondition := ' WHERE ' || strCondition ;
END IF;
OPEN RefCur_KnjKioRrk FOR 'SELECT
PAST_NAME KnjKioRrk
FROM
TOS_D_PATIENT_PAST
' || strCondition ;
LOOP
FETCH RefCur_KnjKioRrk INTO strTemp;
EXIT WHEN RefCur_KnjKioRrk%NOTFOUND;
IF strKnjkiorrk IS NULL THEN
strKnjkiorrk := strTemp;
ELSE
strKnjkiorrk := strKnjkiorrk || '丄'|| strTemp;
END IF;
END LOOP;
RETURN strKnjkiorrk;
END FILL_KNJKIORRK;上面红颜色的区域,是什么意思啊?
'SELECT
PAST_NAME KnjKioRrk
FROM
TOS_D_PATIENT_PAST
' || strCondition
逐笔抓数据,跑逻辑..