proc sql;
create table tablelist as select MEMNAME as table_list from dictionary.tables where libname="S_ICE";
quit;
I have got a note that " 10 tables are not returned as name is too long ".
How can I overcome this problem.I understand that sas datasets have naming constraints and this note is because of that. I cannot pass through sql as dictionary.tables will not be available as shown in example code
proc sql;
connect using mylib;
create table t as select * from connection to mylib
(select * from my_table_with_a_name_so_long_that_it_is_longer_than_any_single_line_of_a_program_should_be
);
quit;
In the DB, have views defined for those tables with names that honor the SAS limits.
How long is the table name you are trying to query? Using SQL Passthru as in your example should work to read table names longer than 32 characters which is the SAS table name limit.
Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.
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.
Ready to level-up your skills? Choose your own adventure.