繁体   English   中英

如何设置主键 | SAS工作室

[英]How do I set Primary Key | SAS Studio

我正在尝试在 SAS 上设置主键,但我不断收到下面提到的错误。 任何帮助都会很棒!

第一个片段是代码,下一个是错误。

/*Primary Key*/ /*Defines the unique key*/

Proc datasets lib=work;
modify WORK.FinAdvMaster;
ic create primary key(FinAdvID);
PROC PRINT DATA=WORK.FinAdvMaster; RUN;**strong text**

我得到的错误 -

 96         /*Primary Key*/ /*Defines the unique key*/
 97         
 98         Proc datasets lib=work;
 99         modify WORK.FinAdvMaster;
                   _________________
                   22
                   201
 ERROR 22-322: Expecting a name.
 ERROR 201-322: The option is not recognized and will be ignored.
 100        ic create primary key(FinAdvID);
 NOTE: Enter RUN; to continue or QUIT; to end the procedure.

删除work. 从您的修改声明中。 lib=选项指定库。 这是proc datasets的一个怪癖。

proc datasets lib=work;
    modify FinAdvMaster;
        ic create primary key (FinAdvID);
quit;

请注意,如果您重新创建数据集,此密钥将被销毁。

您可以使用 SQL 添加指定PRIMARY KEY的列约束

例子:

proc sql; 

  create table work.class as select * from sashelp.class;

  alter table work.class add constraint pk_name primary key(name);

在你的情况下

alter table FinAdvMaster
add constraint 
  pk_FinAdvID primary key(FinAdvID)
;

pk_ <column-name>是命名主键的常用约定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM