improve insert processing by as much as 20%
improve fetch processing by as much as 50%-76%
ตัวอย่าง น้ะจ้ะ
text copybook
01 host-variables.
05 HV-ACT-NMBR-ARRAY PIC s9(04) USAGE COMP OCCURS 100 TIMES.
05 HV-ACT-CITY-ARRAY PIC x(40) OCCURS 100 TIMES.
05 HV-ACT-NAME-ARRAY OCCURS 100 TIMES.
49 HV-ACT-NMBR-ARRAY PIC s9(04) USGE COMP.
49 HV-ACT-NAME-ARRAY PIC x(40).
05 HV-IND-ARRAY PIC s9(04) USAGE COMP OCCURS 100 TIMES.
ตอน จะ declare CURSOR ก็เพิ่ม WITH ROWSET POSITIONING เข้าไป ( default จะเป็น WITHOUT ROWSET POSITIONING )
EXEC SQLตอน fetch จ้ะ
DECLARE GETSET CURSOR
WITH ROWSET POSITIONING
FOR
SELECT ACT-NMBR-ARRAY, ACT-CITY-ARRAY, ACT-NAME-ARRAY
FROM H_PRSN-ACT_TRNS_T
END-EXEC.
EXEC SQL
FETCH NEXT ROWSET FROM GETSET FOR 100 ROWS
INTO :HV-ACT-NMBR-ARRAY,
:HV-ACT-CITY-ARRAY:HV-IND-ARRAY,
:HV-ACT-NAME-ARRAY
END-EXEC.
- นอกจาก NEXT ROWSET แล้ว เรายังสามารถใช้ PRIOR ROWSET, FIRST ROWSET, LAST ROWSET, CURRENT ROWSET, และ ROWSET STARTING AT ABSOLUTE or RELATIVE position ได้ด้วย
- FOR nn ROWS ถ้าไม่ใส่ จะใช้ค่า nn เดิม ที่คราวที่แล้วใช้
- เรียก row count ได้ผ่านทาง
GET DIAGNOSTICSแทนที่จะไปดู SQLCODE +100
- multi-row fetch ยัง support FETCH FIRST nn ROWS ONLY ด้วยน้ะจ้ะ
ref : Willie Favero, Susan Lawson and Dan Luksetich, YL&A
ความคิดเห็น