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.