☑ This topic is solved.
Need further help from the community? Please
sign in and ask a new question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 12-05-2023 05:39 AM
(726 views)
Good moring. I would like to understand what the "NOTNULL" variable in the dictionary.column means. I see that it is always evaluated as NO, without distinction both in the null case and in the case it is evaluated
data test1;
x=2;
run;
data test2;
x=.;
run;
proc sql;
create table columns as
select memname,libname,type,notnull, name from dictionary.columns
where libname = "WORK" and memname like "TEST%";
quit;
1 ACCEPTED SOLUTION
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hello @mariopellegrini,
I think this variable is about integrity constraints: If an integrity constraint "NOT NULL" or "PRIMARY KEY" exists for the dataset variable in question, then NOTNULL='yes'.
Create such an integrity constraint:
proc datasets lib=work nolist;
modify test1;
ic create not null(x);
quit;
Now dictionary.columns shows:
memname libname type notnull name TEST1 WORK num yes x TEST2 WORK num no x
1 REPLY 1
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hello @mariopellegrini,
I think this variable is about integrity constraints: If an integrity constraint "NOT NULL" or "PRIMARY KEY" exists for the dataset variable in question, then NOTNULL='yes'.
Create such an integrity constraint:
proc datasets lib=work nolist;
modify test1;
ic create not null(x);
quit;
Now dictionary.columns shows:
memname libname type notnull name TEST1 WORK num yes x TEST2 WORK num no x