私は仕事のスケジュールを毎日設定しました。次の日にレコードをチェックすると、レコードはいつか完全に移動しませんでした。どうしてか分かりません。ここで SQLジョブスケジューリングがすべてのレコードをしばらく動かしていないのはなぜですか?
は [F_ItemDailySalesParent] = 18741 06 3月、2017年にた場合に[JC_ItemDailySalesParent] = 21027回のと合計記録で見つかった私のクエリ
INSERT INTO [HQWebMatajer].[dbo].[F_ItemDailySalesParent] ( [ItemID] ,[StoreID] ,[ItemLookupCode] ,[DepartmentID] ,[CategoryID] ,[SupplierID] ,[Time] ,[Qty] ,[ExtendedPrice] ,[ExtendedCost] ) SELECT [ItemID] ,[StoreID] ,[ItemLookupCode] ,[DepartmentID] ,[CategoryID] ,[SupplierID] ,[Time] ,[Qty] ,[ExtendedPrice] ,[ExtendedCost] FROM [HQMatajer].[dbo].[JC_ItemDailySalesParent] where time=convert(Date,getdate()-1)
合計レコードです私はいくつかの列や他の何かを見逃しているかもしれないと思う!...そして、私は条件を
where time=convert(Date,getdate())
に変更することによって同じクエリを実行します。それから、完全なレコードが失われずに実行されます。注:どちらの表もジョブスケジュールです。
[JC_ItemDailySalesParent]
テーブルは午前2時に実行されます。F_ItemDailySalesParent
は早朝6時に作動します。
なぜ同じレコードを持つ2つのテーブルを要求しないでください。それは別の目的のためです。
ありがとう、
私は 'GETDATE()を使用してから逃げるだろう - 1 'と明示的に' DATEADD() '関数を使用します。サンプルデータと期待される出力を提供する必要があります。 'SYSDATETIME()'を調べて、あなたの現地時間との比較を確認してください。あなたの 'WHERE'句にそのレコードのレコードが実際に存在することを確認してください。これはかなり簡単です。 – scsimon
MySQLまたはMS SQL Serverを使用していますか?関与していない製品にはタグを付けないでください。 – jarlh
@scsimonシステムの日付を変更する機会はありません。両方のジョブとテーブルが同じサーバーにあるので –