The following programs demonstrate the use of the declared
START_STREAM statement to open a stream declared with the
DECLARE_STREAM statement.
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;
}
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.