Puntare a righe diverse di una tabella

venerdì 22 luglio 2011 - 20.04
Tag Elenco Tags  SQL Server 2005

peska78 Profilo | Newbie

Ho una tabella che contiene dati di questo tipo (articolo, q.tà articolo, data inserimento articolo)
Lotto1, 1000, 29/07/2001 15:45:00
Lotto2, 7000, 29/07/2001 16:45:20
Lotto3, 1400, 29/07/2001 16:52:00

Devo creare una procedure che avrà come parametro di input una quantità; tale quantità deve essere detratta in parte dalla quantità del primo articolo in ordine temporale inserito ed in parte dal secondo inserito (es. 80% per il primo e 20% il secondo). Se la quantità del primo articolo è inferiore alla quantità che andrebbe detratta, devo prendere quella che è la sua quantità, toglierla dalla quantità da detrarre, cancellare l'articolo dalla tabella e rifare i calcoli considerando i due nuovi articoli. Se si ripetesse la stessa situazione, ovvero la quantità presente è minore della quantità da detrarre dovrei ripetere il procedimento.


Marco

alx_81 Profilo | Guru

Ciao

>Devo creare una procedure che avrà come parametro di input una
>quantità; tale quantità deve essere detratta in parte dalla quantità
>del primo articolo in ordine temporale inserito ed in parte dal
>secondo inserito (es. 80% per il primo e 20% il secondo). Se
>la quantità del primo articolo è inferiore alla quantità che
>andrebbe detratta, devo prendere quella che è la sua quantità,
>toglierla dalla quantità da detrarre, cancellare l'articolo dalla
>tabella e rifare i calcoli considerando i due nuovi articoli.
>Se si ripetesse la stessa situazione, ovvero la quantità presente
>è minore della quantità da detrarre dovrei ripetere il procedimento.
per questo tipo di cose, a mio avviso non devi usare una procedura su sql server, in quanto sei costetto ad iterare o ad usare cursori.
Per dare possibilità in futuro di scalare ti consiglio di utilizzare un'eventuale applicazione esistente per effettuare questa operazione.
Altrimenti credo che dovrai fare un cursore su db.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5