BookmarkSubscribeRSS Feed
goliPSU
Calcite | Level 5

I have a SAS program that uses the micro and at the end is generating the following tables that I want to export it to SQL:

NCxC1993

NCxC1994

NCxC1995

NCxC1996

NCxC1997

I can use the following commands to create a table in SQL but I would like to use a loop:

/*proc sql;

    create table sqldb.cxcuse_dense_1993 as

     select * from NCxC1993; 

    create table sqldb.cxcuse_dense_1994 as

     select * from NCxC1994; 

    create table sqldb.cxcuse_dense_1995 as

     select * from NCxC1995; 

    create table sqldb.cxcuse_dense_1996 as

     select * from NCxC1996; 

    create table sqldb.cxcuse_dense_1997 as

     select * from NCxC1997; 

quit;

run;*/

I am using the following loop but for some reason without any error does not create the tables in SQL (but the above command does)

%macro sqlloop(start=,end=);

     %do year = &start %to &end;

     create table sqldb.cxcuse_dense_&year as

     select * from NCxC&year; 

      %end

%mend;

proc sql;

%sqlloop(start=1994,end=1995)

quit;

run;

/*-----------------------------------------------------------------------*/

quit;

run;

is there any thoughts on why the sqlloop does not work.

Thank you

2 REPLIES 2
Rick_SAS
SAS Super FREQ

I think you probably intended to post this in the macro/sql group: https://communities.sas.com/community/support-communities/sas_macro_facility_data_step_and_sas_langu...

goliPSU
Calcite | Level 5

Thank you so much.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

From The DO Loop
Want more? Visit our blog for more articles like these.
Discussion stats
  • 2 replies
  • 1715 views
  • 0 likes
  • 2 in conversation