step:procedura stocata
SELECT dbo.Detalii.ProdusID, SUM(dbo.Detalii.Cantit) AS cantitE, dbo.BC.Predator
FROM dbo.BC INNER JOIN
dbo.Detalii ON dbo.BC.ID = dbo.Detalii.ID INNER JOIN
dbo.NirD ON dbo.Detalii.ReceptieID = dbo.NirD.ID
INNER JOIN dbo.NIR ON dbo.NirD.NirID = dbo.NIR.nirID
WHERE (dbo.BC.AnulatDe IS NULL)
GROUP BY dbo.Detalii.ProdusID, dbo.BC.Predator, dbo.NirD.NirID
HAVING (dbo.Detalii.ProdusID = @produsID) AND (dbo.BC.Predator = @Predator) AND (dbo.NirD.NirID = @id)
view ul
SELECT SUM(dbo.Detalii.Cantit) AS Cantit, dbo.Detalii.ProdusID, dbo.Detalii.SarjaID, dbo.BC.ID, 0 AS Modif
FROM dbo.Detalii INNER JOIN
dbo.BC ON dbo.BC.ID = dbo.Detalii.ID
GROUP BY dbo.Detalii.ProdusID, dbo.Detalii.SarjaID, dbo.BC.ID
Dupa cite vad , amindoua folosesc aceleasi 2 tabele :Detalii si BC - si probabil de aceea ai lock-ul ...
E vreuna care nu trebuie sa fie executata "real-time" - de ex., am impresia ca procedura stocata este folosita pentru raportare dupa parametri ...
Ignat Andrei
http://serviciipeweb.ro/iafblog