SAS获取表主键

SAS获取表主键,sas,data-integration,Sas,Data Integration,我是全新的SAS 4GL 是否可以从表中提取哪些列是主键或复合主键的一部分?我需要将它们的值合并到输出数据集的一列中 问题是,作为输入,我可以得到不同的表,但我不知道它们的定义。如果定义了索引,那么您可以找出该索引中使用了哪些变量。例如,见: data blah(index=(name)); set sashelp.class; run; proc contents data=blah out=blahconts; run; blahconts中的列指示name位于简单索引中,并且它总共有1

我是全新的SAS 4GL

是否可以从表中提取哪些列是主键或复合主键的一部分?我需要将它们的值合并到输出数据集的一列中


问题是,作为输入,我可以得到不同的表,但我不知道它们的定义。

如果定义了索引,那么您可以找出该索引中使用了哪些变量。例如,见:

data blah(index=(name));
set sashelp.class;
run;

proc contents data=blah out=blahconts;
run;
blahconts
中的列指示
name
位于简单索引中,并且它总共有1个索引

此外,您还可以使用外键约束,例如:

将约束信息写入输出窗口。从输出数据集中可以看到变量位于简单索引中。您可以在ODS输出中包装其中一个(
PROC CONTENTS
descripe TABLE CONSTRAINTS
),以将信息发送到数据集:

ods output  IntegrityConstraints=postalICs;
proc contents data=uspostal out=postalconts;
run;
ods output close;


如果定义了索引,则可以找出该索引中使用了哪些变量。例如,见:

data blah(index=(name));
set sashelp.class;
run;

proc contents data=blah out=blahconts;
run;
blahconts
中的列指示
name
位于简单索引中,并且它总共有1个索引

此外,您还可以使用外键约束,例如:

将约束信息写入输出窗口。从输出数据集中可以看到变量位于简单索引中。您可以在ODS输出中包装其中一个(
PROC CONTENTS
descripe TABLE CONSTRAINTS
),以将信息发送到数据集:

ods output  IntegrityConstraints=postalICs;
proc contents data=uspostal out=postalconts;
run;
ods output close;