代码之家  ›  专栏  ›  技术社区  ›  moodymudskipper

使用具有灵活名称和lib的PROC copy创建表的副本

  •  1
  • moodymudskipper  · 技术社区  · 7 年前

    我读到了 PROC COPY 比a快 DATA

    我了解以下工作原理:

    proc copy in=lib1 out=lib2;
        select have;
    run;
    

    但是,我希望输出的名称具有一定的灵活性,主要是因为我希望复制源所在库中的表。

    基本上,我想要(如果可能的话)更高效的版本:

    DATA lib1.have;
    set lib2.want;
    run;
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Tom    7 年前

    如果PROC COPY比数据步骤快,可能是因为它知道在写回数据之前不需要操作数据。

    为什么不使用PROC APPEND来满足您的需要?使用BASE=选项设置目标表,使用DATA=选项设置源表。

    proc append data=lib1.have base=lib2.want ;
    run;
    

    如果要确保没有表 lib2.want 然后添加 proc delete 先走一步。

    proc delete data=lib2.want; 
    run;