【发布时间】:2017-09-27 23:51:17
【问题描述】:
我正在尝试在 SQL Server 中创建一个应检查当前日期的存储过程:如果今天是一个月的第一天,则创建一些表并在表名中包含昨天的日期。如果今天不是一个月的第一天,那么什么都不做。
想法应该是在日常 SSIS 包中简单地调用这个存储过程。
我正在努力添加“其他(什么都不做”)并将上一个日期添加到表名中。
这样的东西有用吗?我无法编译它...
DECLARE @d CHAR(10) = CONVERT(CHAR(8), dateadd(day,-1,GETDATE()), 112)
如果 DAY(GETDATE())=1 开始
DECLARE @table1name NVARCHAR(MAX) = CONCATENATE('snapshots_db.Table1_',@d);
选择 * 进入@table1name 来自 sales_db.Table1;
DECLARE @table2name NVARCHAR(MAX) = CONCATENATE('snapshots_db.Table2_',@d);
选择 * 进入@table2name 来自sales_db.Table2;
结束
否则 开始
1=1 结束
【问题讨论】:
标签: sql sql-server stored-procedures