Aquest post forma part d'un conjunt de posts que defineixen la infraestructura SQLServer de la classe d'accés a dades.
Aquesta stored s'encarrega d'actualitzar un únic registre. Per fer UPDATES masius s'ha de fer fora d'storeds, en el programa que s'estigui fent. De forma similar a l'INS, aquesta stored rep tots els camps de la taula, però la clau primària (PK) va informada d'entrada enlloc de ser un paràmetre de sortida, així es posa en el WHERE per afectar només un registre.
El codi queda així:
ALTERPROCEDURE [dbo].[DI_EXP_DESTRUCCIO_UPD]
@pPK_Destruccio int,
@pFK_TAAD int,
@pFK_Arxiu int,
@pAny_obertura int,
@pAny_tancament int,
@pMetres decimal(5, 1),
@pData_Destruccio datetime,
@pObservacions varchar(2000),
@pbCataleg nchar(20),
@pSerie_documental varchar(500),
@pMK_UsuariAlta varchar(50),
@pMK_DataAlta datetime,
@pMK_UsuariModif varchar(50),
@pMK_DataModif datetime, @pFK_Estat int,
@pNumExpedients int,
@pFK_Classificacio int,
@pFK_Especifica intASBEGINUPDATE DI_EXP_DESTRUCCIO SET--Tots els camps menys la PK
FK_TAAD=@pFK_TAAD, FK_Arxiu=@pFK_Arxiu,
Any_obertura=@pAny_obertura, Any_tancament=@pAny_tancament,
Metres=@pMetres, Data_Destruccio=@pData_Destruccio,
Observacions=@pObservacions, bCataleg=@pbCataleg,
Serie_documental=@pSerie_documental,
MK_UsuariAlta=@pMK_UsuariAlta, MK_DataAlta=@pMK_DataAlta,
MK_UsuariModif=@pMK_UsuariModif, MK_DataModif=@pMK_DataModif,
FK_Estat=@pFK_Estat, NumExpedients=@pNumExpedients,
FK_Classificacio=@pFK_Classificacio, FK_Especifica=@pFK_Especifica
--En el WHERE va la PKWHERE (PK_Destruccio=@pPK_Destruccio)
END
#25/11/2013 10:22 Programació SQLServer Autor: Alex Canalda