如何在不从现有表中进行选择的情况下使用"Proc SQL"创建表



什么是SAS版本的"select from dual";?我想使用Proc SQL创建一个表,而不需要从兴奋表中进行选择。例如。基本上我想要一些类似的东西:

PROC SQL;
CREATE TABLE tmptable AS
SELECT 1 AS myvar FROM dual;
QUIT;

这不起作用。我有什么选择?

我不认为SAS中有任何类似于从DUAL中选择的东西。但如果这对你有帮助,你可以试试:

proc sql inobs=1; /* limit read to only one observations */
select 1 as myvar
from sashelp.table /* or any table desired */
; 
quit;

INOBS=1确保您只从sashelp.table读取一行,因此您只有一个结果。

如您所述,SASProc SQL没有预制的DUAL表。

您可以改用CREATEINSERT语句。

示例

proc sql;
create table want (x num);
insert into want values (1);
insert into want 
values(2)
values(3)
;
quit;

或者先创建自己的DUAL(也许是将SQL代码迁移到SASProc SQL(

proc sql;
create table dual (dummy char(1)); insert into dual values ('X');
CREATE TABLE tmptable AS
SELECT 1 AS myvar FROM dual;
quit;

相关内容

最新更新