set xact_abort on; go begin transaction; go alter table PrintJobQueue add dtLastTry datetime; go exec sp_addextendedproperty 'MS_Description', 'data/ora ultimo tentativo di stampa (x check se zombie process)', 'SCHEMA', 'dbo', 'TABLE', 'PrintJobQueue', 'COLUMN', 'dtLastTry'; go set ANSI_NULLS on; go /*************************************** * STORED stp_PJQ_chiudiZombie * * aggiorna la tabella indicando come zoombie processi che abbiano dtLastTry antecedente a @dtLastTryMax e stato=0 * * Steamware, S.E.L. * mod: 2013.10.03 * ****************************************/ create PROCEDURE stp_PJQ_chiudiZoombie ( @dtLastTryMax DATETIME ) AS UPDATE PrintJobQueue SET stato = -1 WHERE stato = 0 AND dtLastTry < @dtLastTryMax go /*************************************** * STORED stp_PJQ_updateStato * * aggiorna stato di un job di stampa in tabella gestione coda (stato = 0) x un dato UDC * indicando che ho tentato di stamparlo (x sapere che non è un processo zombie) * * Steamware, S.E.L. * mod: 2013.10.03 * ****************************************/ create PROCEDURE stp_PJQ_updateLastTry ( @UDC VARCHAR(50) ) AS UPDATE PrintJobQueue SET dtLastTry = GETDATE() WHERE stato = 0 AND UDC = @UDC go /*************************************** * STORED stp_PJQ_insert * * inserisce un job di stampa in tabella gestioen coda * * Steamware, S.E.L. * mod: 2013.07.23 * ****************************************/ alter PROCEDURE stp_PJQ_insert ( @TipoCart VARCHAR(250), @UDC VARCHAR(50), @prtName VARCHAR(500) ) AS INSERT INTO PrintJobQueue(TipoCart, UDC, prtName, dtStart, dtLastTry, stato) VALUES (@TipoCart, @UDC, @prtName, GETDATE(), GETDATE(), 0) go commit; go set xact_abort on; go begin transaction; go set ANSI_NULLS on; go /*************************************** * STORED stp_PJQ_chiudiZombie * * aggiorna la tabella indicando come zoombie processi che abbiano dtLastTry antecedente a @dtLastTryMax e stato=0 * * Steamware, S.E.L. * mod: 2013.10.03 * ****************************************/ alter PROCEDURE stp_PJQ_chiudiZoombie ( @dtLastTryMax DATETIME ) AS UPDATE PrintJobQueue SET stato = -1 WHERE stato = 0 AND dtLastTry < @dtLastTryMax go /*************************************** * STORED stp_PJQ_insert * * inserisce un job di stampa in tabella gestioen coda * * Steamware, S.E.L. * mod: 2013.07.23 * ****************************************/ alter PROCEDURE stp_PJQ_insert ( @TipoCart VARCHAR(250), @UDC VARCHAR(50), @prtName VARCHAR(500) ) AS INSERT INTO PrintJobQueue(TipoCart, UDC, prtName, dtStart, dtLastTry, stato) VALUES (@TipoCart, @UDC, @prtName, GETDATE(), GETDATE(), 0) go /*************************************** * STORED stp_PJQ_updateStato * * aggiorna stato di un job di stampa in tabella gestione coda (stato = 0) x un dato UDC * indicando che ho tentato di stamparlo (x sapere che non è un processo zombie) * * Steamware, S.E.L. * mod: 2013.10.03 * ****************************************/ alter PROCEDURE stp_PJQ_updateLastTry ( @UDC VARCHAR(50) ) AS UPDATE PrintJobQueue SET dtLastTry = GETDATE() WHERE stato = 0 AND UDC = @UDC go commit; go update PrintJobQueue set dtLastTry = dtStart where dtLastTry IS NULL SELECT * FROM PrintJobQueue GO -- registro versione... INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(570, GETDATE()) GO SELECT TOP 5 * FROM LogUpdateDb ORDER BY Versione DESC GO