0
我有一组数据,我想每天插入到数据库中,每天或每周都创建一个新表格,以获得简单的历史概览。以相同样式每天/每周创建一个新表格每周/每周mssql
我该如何做到这一点?我应该在代码中还是在数据库本身中执行?
我有一组数据,我想每天插入到数据库中,每天或每周都创建一个新表格,以获得简单的历史概览。以相同样式每天/每周创建一个新表格每周/每周mssql
我该如何做到这一点?我应该在代码中还是在数据库本身中执行?
考虑一下MySourceTable
是你的实际表格,从那里你想每天移动数据,你需要创建一个SQL Job并使用下面的SP。
因此,您将得到一个含有您提供的前缀名称的基于日表的表格。为了测试,我在这里给出MyTest_
作为前缀,所以今天的表格将作为MyTest_2016_04_15
来。
示例存储过程:
CREATE PROCEDURE dbo.pub_DailyBasisDataMove
AS
BEGIN
DECLARE @LogDate VARCHAR(20);
SET @LogDate = REPLACE(CONVERT(VARCHAR(12), GETDATE(), 111), '/', '_');
-- PRINT @LogDate
DECLARE @ExecuteSql AS NVARCHAR (MAX) = '';
SET @ExecuteSql = @ExecuteSql + N'SELECT * INTO MyTest_' + @LogDate + ' FROM dbo.MySourceTable'
--PRINT @ExecuteSql
EXEC sp_executesql @ExecuteSql
END
注意:如果你想运行的工作更比一天一次,你需要删除现有表的一天,创造新的。
以同样的方式,您需要为每周创建一个SP并分开JOB,并在SP内的前缀内容中处理相同的内容。
请添加一些示例数据和预期的输出 – TheGameiswar
在特定的时间每天都会期望吗?或者当你需要时,只有数据需要移动到新表中? – Arulkumar
您可以通过[SQL Jobs]实现此目的(http://stackoverflow.com/questions/5471080/how-to-schedule-a-job-for-sql-query-to-run-daily) – Arulkumar