我是SAS的新手,我尝试将我的代码从Access vba复制到SAS中。在Access中,我经常使用SELECT INTO函数,但在我看来,SAS中并没有这个函数。
我有两个表,我每天都会得到新的数据,我想用新的行更新我的表。现在我需要检查是否有一些新行显示为->,如果是,则将此行插入到旧表中。
我尝试了一些来自stackoverflow的代码和来自谷歌的其他东西,但我没有找到可以工作的东西。
INSERT INTO OLD_TABLE T
VALUES (GRVID = VTGONR)
FROM NEW_TABLE V
WHERE not exists (SELECT V.VTGONR FROM NEW_TABLE V WHERE T.GRVID = V.VTGONR);发布于 2019-07-25 03:58:33
不确定在示例中使用VALUES关键字的目的是什么。PROC SQL使用VALUES()列出静态值。像这样:
VALUES (100)SAS只使用普通的SQL语法。请参见示例:https://www.techonthenet.com/sql/insert.php
要指定要插入的观测值,只需使用SELECT。可以将WHERE子句作为select的一部分添加,以限制选择要插入的行。为了告诉INSERT要插入哪些列,请在表名后的()中列出它们。否则,它将期望select语句中列的列出顺序与目标表中列的顺序相匹配。
insert into old_table(GRVID)
select VTGONR from new_table
where VTGONR not in (select GRVID from old_table)
;https://stackoverflow.com/questions/57190205
复制相似问题