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.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.