Ends a declared stream. You can issue several declared END_STREAM statements in a module, and as long as you use the same declared stream name in each END_STREAM statement, they will all refer to the same stream.
1 – Examples
The following programs demonstrate the use of the declared END_STREAM statement.
1.1 – C Example
#include <stdio.h> #define TRUE 1 #define FALSE 0 DATABASE PERS = FILENAME "PERSONNEL"; DECLARE_STREAM sal USING SH IN SALARY_HISTORY WITH SH.SALARY_AMOUNT LT 10000; int end_of_stream; main() { READY PERS; START_TRANSACTION READ_WRITE; START_STREAM sal; FETCH sal AT END end_of_stream = TRUE; END_FETCH; while (! end_of_stream) { MODIFY SH USING SH.SALARY_AMOUNT = SH.SALARY_AMOUNT * (1.5); END_MODIFY; FETCH sal AT END end_of_stream = TRUE; END_FETCH; } END_STREAM sal; COMMIT; FINISH; }
1.2 – Pascal Example
program anycond (input,output); DATABASE PERS = FILENAME 'PERSONNEL'; var end_of_stream : boolean; DECLARE_STREAM sal USING SH IN SALARY_HISTORY WITH SH.SALARY_AMOUNT LT 10000; begin READY PERS; START_TRANSACTION READ_WRITE; START_STREAM sal; FETCH sal AT END end_of_stream := TRUE; END_FETCH; while not end_of_stream do begin MODIFY SH USING SH.SALARY_AMOUNT := SH.SALARY_AMOUNT * (1.5); END_MODIFY; FETCH sal AT END end_of_stream := TRUE; END_FETCH; end; END_STREAM sal; COMMIT; FINISH; end.
2 – Format
(B)0[m [4mEND_STREAM[m qqqqqq> stream-name qqqqqqqqqk lqqqqqqqqq<qqqqqqqqqqqqqqqj mqwqqqqqqqqqqqqqqwqqqqqqqqqq> mq> on-error qqj
2.1 – Format arguments
stream-name The name you gave to the stream when you issued the DECLARE_STREAM statement. on-error The ON ERROR clause. Specifies host language statements or Oracle Rdb statements, or both, to be performed if an error occurs during the END_STREAM operation.