在 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 调度程序。
我有 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 调度程序。