/ / Pourquoi SQL Job Scheduling ne déplace pas tous les enregistrements un certain temps? - sql, sql-server, base de données, planification des tâches

Pourquoi la planification des travaux SQL ne déplace pas tous les enregistrements dans le temps? - sql, sql-server, base de données, ordonnancement

Je règle le planning du travail quotidiennement. Lorsque je vérifie les enregistrements le lendemain, les dossiers n’ont pas été complètement déplacés un jour. Je ne sais pas pourquoi.

Voici ma requête

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)

Nombre total d'enregistrements trouvés sur [JC_ItemDailySalesParent] = 21027 et total des enregistrements sur [F_ItemDailySalesParent] = 18741 le 06 mars 2017

Si vous pensez que je pourrais avoir manqué une colonne ou autre chose! .. Alors je vais exécuter la même requête en changeant où condition à where time=convert(Date,getdate()). Ensuite, il exécute l'enregistrement complet sans manquer.

Remarque: Les deux tableaux sont des horaires de travail. [JC_ItemDailySalesParent] la table fonctionnera à 2 heures du matin. F_ItemDailySalesParent courra tôt le matin à 6 heures.

Ne me demandez pas pourquoi deux tableaux avec le même enregistrement. C'est pour des raisons différentes.

Merci,

Réponses:

0 pour la réponse № 1

Toujours essayer d'avoir un identifiant unique dans la table. En supposant que la combinaison de ItemID, StoreID, ItemLookupCode, DepartmentID, CategoryID, SupplierID, Time est unique:

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 src
LEFT JOIN  HQWebMatajer.dbo.F_ItemDailySalesParent tgt
ON tgt.ItemID = src.ItemID
AND tgt.StoreID = src.StoreID
AND tgt.ItemLookupCode = src.ItemLookupCode
AND tgt.DepartmentID = src.DepartmentID
AND tgt.CategoryID = src.CategoryID
AND tgt.SupplierID = src.SupplierID
AND tgt.Time = src.Time
WHERE tgt.ItemID IS NULL;