Files
GMW/GMW_DB/dbo/Stored Procedures/stp_UDC_upsertPrelevato.sql
Samuele Locatelli a6d7ea0b2f Import iniziale DB, GMW
versione TK 2.4
inclusione schema voc x tabella lingue e vocabolario
2014-02-20 09:54:57 +01:00

51 lines
1.2 KiB
Transact-SQL

/***************************************
* STORED stp_UDC_upsertPrelevato
*
* fa un upsert sulle righe liste prelievo indicando che è stato prelevato un dato udc
* (upsert: se c'è update, se non c'è insert...)
*
* Steamware, S.E.L.
* mod: 2010.06.29
*
************************************/
CREATE PROCEDURE [dbo].[stp_UDC_upsertPrelevato]
(
@CodLista NVARCHAR(12),
@UDC NVARCHAR(50)
)
AS
SET @UDC = UPPER(@UDC) -- metto ad Upper nel caso venga passato in minuscolo ( es. smart LDP da terminalino )
-- controllo se ci sia l'UDC tra quelli proposti...
DECLARE @trovato AS BIT
SET @trovato = (SELECT COUNT(*) AS trovati
FROM RigheListePrelievo
WHERE (CodLista = @CodLista) AND (UDC = @UDC))
-- controllo x scelta upsert
IF ( @trovato > 0) -- UPDATE!
BEGIN
UPDATE RigheListePrelievo
SET Prelevato=1
WHERE (CodLista = @CodLista) AND (UDC = @UDC)
END
ELSE -- INSERT!
BEGIN
INSERT INTO RigheListePrelievo (CodLista, UDC, Qta, Proposto, Prelevato)
SELECT @CodLista, @UDC, Qta, 0, 1
FROM ElencoCartellini
WHERE (UDC = @UDC)
END
-- restituisce la tab delle righe di prelievo della lista indicata
SELECT *
FROM RigheListePrelievo
WHERE (CodLista = @CodLista) AND (UDC = @UDC)