Hi I am running the EG code that is pointing towards the Teradata sql before Teradata sends the info back to the lasr table. however I have been receiving this error message although we have increase the room.
Would you be able to advise what are the steps to eliminate this issue which has happened for the second time in three months time?
Thank you.
No more room in database, usually happens, if you having wrong Primary index for Teradata Table.
for example, if you have created table using code below
data tdtable.employee_scoring;
set work.employee_scoring(keep= Job_type employee_number Sal Sal_rating);
run;
When primary index is not explicitly defined, usually first column is selected as primary index. In the above example if the primary index was not explicitly defined, job_type, which is the first column, will be selected as primary index, which may lead to data skewing and if your first column is not all unique then you can see the error your mentioning.
Please mention primary index explicitly by using dbcreate_table_opts option.
data tdtable.employee_scoring (dbcreate_table_opts= 'primary index(employee_number)');
set work.employee_scoring(keep= Job_type employee_number Sal, Sal_rating);
run;
if possible, please share your code.
Talk to your Teradata DBA.
If you understand your process you should be able to make some pretty accurate estimates of how much space you need.
Make sure you have enough before running the program.
Make sure your tables are defined to be efficient.
Note that if you are using SAS to define new tables you probably want to look into the DBTYPE= dataset option to allow you to define the Teradata type that will be used for your variables. You can include Teradata compression options.
libname out teradata .... ;
data out.new (dbtype=(gender="varchar(6) compress ('Male','Female')"));
set have;
run;
No more room in database, usually happens, if you having wrong Primary index for Teradata Table.
for example, if you have created table using code below
data tdtable.employee_scoring;
set work.employee_scoring(keep= Job_type employee_number Sal Sal_rating);
run;
When primary index is not explicitly defined, usually first column is selected as primary index. In the above example if the primary index was not explicitly defined, job_type, which is the first column, will be selected as primary index, which may lead to data skewing and if your first column is not all unique then you can see the error your mentioning.
Please mention primary index explicitly by using dbcreate_table_opts option.
data tdtable.employee_scoring (dbcreate_table_opts= 'primary index(employee_number)');
set work.employee_scoring(keep= Job_type employee_number Sal, Sal_rating);
run;
if possible, please share your code.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.