2016-04-15 10 views
0

データベースに毎日挿入するデータセットがあり、毎日または毎週新しいテーブルを作成して歴史的な概要を簡単に作成できます。毎日または毎週同じスタイルで新しいテーブルを作成するmssql

どうすれば実現できますか?コードまたはデータベース自体でそれを行う必要がありますか?

+0

サンプルデータと予想出力を追加してください – TheGameiswar

+0

特定の時間に毎日期待していますか?新しいテーブルに移動する必要があるのはいつですか? – Arulkumar

+0

これを達成するには、[SQLジョブ](http://stackoverflow.com/questions/5471080/how-to-schedule-a-job-for-sql-query-to-run-daily) – Arulkumar

答えて

0

MySourceTableを実際のテーブルとし、そこからデータを毎日移動したい場合は、SQLジョブを作成して以下の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 

注:あなたが一日に複数回ジョブを実行したい場合は、その日のために既存のテーブルを削除し、新しいを作成する必要があります。

同じように、週単位でもう1つSPを作成し、JOBを分離して、SP内のプレフィックスコンテンツで同じものを処理する必要があります。

関連する問題