ma structure transaction_tbl comme celui-cicomment vérifier table SQL avec dernière les données de la semaine dans le serveur SQL en utilisant la procédure stockée
transactID int
TBarcode varchar(20)
Locid int
PlateNo varchar(20)
dtime datetime
DelEcode nvarchar(50)
Paydate datetime
KeyRoomDate datetime
DelDate datetime
Status int
j'ai une procédure stockée comme ceci:
ALTER procedure [dbo].[IBSFVRIPodiumG]
@locid INTEGER = NULL
AS BEGIN
SET NOCOUNT ON
DECLARE @TodayMinus7Days DATETIME
Declare @krrt integer
Declare @DT integer
SET @TodayMinus7Days = getdate()-7
SELECT
t.TBarcode, t.PlateNo, t.DelEcode,cast(t.Paydate as Time) [REQ],
datediff(MINUTE, t.PayDate,
CASE t.Status
WHEN 3 THEN GETDATE()
WHEN 4 THEN t.KeyRoomDate
When 5 THEN t.KeyRoomDate
End) as KRRT,
datediff(MINUTE,t.PayDate,
CASE t.Status
WHEN 3 THEN GETDATE()
WHEN 4 THEN GETDATE()
WHEN 5 THEN t.DelDate
END) as DT
FROM
dbo.Transaction_tbl t
WHERE
(
([status] IN (3,4))
OR
([status]=5 and DelDate >=DATEADD(minute,-3,getdate()))
)
AND locid = @locid AND dtime >= @TodayMinus7Days
ORDER BY
paydate
end
En Transaction_tbl j'ai un index sur locid, et le statut .. et je prends seulement les 7 derniers jours de données de ma table .. j'ai plus de 2 enregistrements manquants dans la table de transaction .. dans ma procédure stockée j'ai donné dtime >= @TodayMinus7Days
.. dtime est l'insertion datetime de chaque reocrds.je veux confirmer parce que cette vérification va vérifier seulement 7 derniers jours les données de ma table? En fait, je veux vérifier seulement les 7 derniers jours de données de ma table de transactions .. J'ai donc besoin de changer quoi que ce soit dans ma procédure stockée.Je ne veux pas scanner toute ma table ..
si je donne comme AND locid = @locid AND dtime between DATEADD(DAY, -7, GetDate()) and GetDate()
va scanner toute la table. .pendant l'exécution de cette procédure stockée que je veux analyser les 7 derniers jours enregistrements de ma table sql, comment je peux le faire :?
monsieur dans mon cas qui va vérifier tablée ?? – user3262364
il va vérifier toute la table pour les entrées ayant 'dtime' dans votre plage de dates seulement – Milen
si je donne du code ce que vous avez suggéré qui va vérifier toute la table ou qui prendra sous-ensemble des 7 derniers jours, puis vérifiez ?? – user3262364