Hello
I have a inner loop which has a series Update statements which I need to loop it until update statement results from step N-1 is equal to one from Step N. Then I have to go back to outer loop.
the inner loop syntax would be:
Inner loop:
%do J = 1 %to 200;
a series update statements...
%if (update statement results from step J) <>(update statement results from step J-1) %then %goto leave_inner;
/* (in other words, if 1 row was updated in WORK.DATA from Step J-1 but 0 row was updated in WORK.DATA from StepJ, then we use %goto to leave the inner loop)*/
%end;
%leave_inner: /* leave inner loop to outer loop*/
if there is a way to capture just the number of rows that was updated in update statement results log and then put it into a macro, that would solve my problem as well.
Thanks in advance for any ideas.
Lei
Assuming that "update statements" refer to SQL UPDATE statements, you could get the number of records updated (not necessarily changed) after each query from the SQLOBS automatic macro variable.
PG
Assuming that "update statements" refer to SQL UPDATE statements, you could get the number of records updated (not necessarily changed) after each query from the SQLOBS automatic macro variable.
PG
tested and works! Thank you. PGStars.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.