在 SAS 中创建存储过程

create a stored procedure within SAS

我有 100 个像这样的插入语句

INSERT INTO table_A (col1,col2col3) VALUES ('ab','jerry',123); 

INSERT INTO table_A (col1,col2col3) SELECT col1,col2,col3 FROM Test WHERE col1='ab';

INSERT INTO table_B (col1,col2col3) SELECT loc1,loc2,loc3 FROM Test_v2 WHERE loc2='ab';

我每 2 个月 运行查询一次。 WHERE 子句没有改变,收件人 table 也每 2 个月被删除一次,使其干净。

我一直在网上查找,但似乎无法创建与 SQL 存储过程等效的内容并能够 运行 它,偶尔一次。

还是……?

如果它不存在,我愿意重写它,但我想在这样做之前确保它不存在。

TIA。

这取决于您的设置。如果您有一个 SAS 服务器(包括一个元数据服务器),您可以创建存储过程,这是一个直接的模拟。请参阅 this paper 或文档。

如果您主要关心的是可重复性,您应该只使用宏。另一方面,如果您对日程安排感兴趣,则有两个主要选择。

首先,一个.sas的程序可以很容易地以批处理的方式进行调度;请参阅 Batch processing under Windows 或查找适用于您选择的操作系统的类似文章。这需要简单地设置一个 .bat 程序来执行你的 .sas 程序,然后要求 Windows 调度程序 运行 它以你需要的频率执行。

其次,可以通过程序中内置的便捷工具安排企业指南流程。转到 File -> Schedule ,或右键单击流程和 select Schedule 。这将创建一个 .vbs 并将其注册到 Windows 调度程序。