SAS是否允许在CREATE语句中使用ORDER BY?

时间:2014-07-21 13:49:48

标签: sas

我在创建表时尝试ORDER表,但后来注意到SAS不允许它。这是代码

proc sql;
create table test as (
select * 
from sashelp.class
order by name);
quit;

以下是我得到的错误:

1383  order by name);
      -----
      79
ERROR 79-322: Expecting a ).

1383! order by name);
                   -
                   79
ERROR 79-322: Expecting a (.

我当然可以使用proc sort,但我读了CREATE TABLE文档,除了不推荐之外,没有找到ORDER BY的任何限制。 SAS documentation列出create . . order by作为有效语法。那么这里的问题是什么?

顺便说一下。 。简单的select . . order by工作正常

proc sql;
select * 
from sashelp.class
order by name;
quit;*

1 个答案:

答案 0 :(得分:3)

删除括号:

proc sql;
create table test as
select * 
from sashelp.class
order by name;
quit;

不确定为什么SAS不喜欢它们 - 我认为这是因为它们仅用于子查询,从技术上讲这不是。无论如何,你不需要它们。