BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
chris_e
Obsidian | Level 7

 I have created a macro that creates a new table based on an SQL procedure that pulls data from some SQL tables. This macro is below and works without any problems as expected:

 

%macro Pull_Data_from_db(database, server, portid, tblname);

	%let libraryname = db;
	
proc sql;
	
	connect to oledb (init_string="Provider=SQLOLEDB; Integrated Security=SSPI; Initial Catalog=&database.; data source=&server." schema=dbo);
			create table &tblname. as select * from connection to oledb (

	SQL code;
quit;
%mend;

I next want to create a macro that will take this macro putting it into a loop and run it on multiple tables. So far I have put the function into a new function and tried running it in that function and rather than just connecting I get a pop up asking to specify Data Link Properties.

 

%macro Pull_Multi_tables_from_db(database, server, portid, tblname);

	%Pull_Data_from_EDM(database, server, portid, tblname);

%mend;

 

Is there a reason my macro is able to connect properly when run by itself but not when put into a second macro?

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
chris_e
Obsidian | Level 7

Sorry just realised I needed to put & on the front of the variables and . on the end in the second function.

 

%macro Pull_Multi_tables_from_db(database, server, portid, tblname);

	%Pull_Data_from_EDM(&database., &server., &portid., &tblname.);

%mend;

View solution in original post

1 REPLY 1
chris_e
Obsidian | Level 7

Sorry just realised I needed to put & on the front of the variables and . on the end in the second function.

 

%macro Pull_Multi_tables_from_db(database, server, portid, tblname);

	%Pull_Data_from_EDM(&database., &server., &portid., &tblname.);

%mend;

SAS Innovate 2025: Call for Content

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!

Submit your idea!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 1 reply
  • 996 views
  • 0 likes
  • 1 in conversation