Aquest post forma part d'un conjunt de posts que defineixen la infraestructura SQLServer de la classe d'accés a dades.
L'stored procedure que s'ocupa d'insertar dades a la taula és força senzilla. Té tants paràmetres d'entrada com camps té la taula. La clau primària (PK) en cas de ser una identitat és un paràmetre de sortida. Sort que tot això es genera de forma automàtica que fer-ho a mà i que cuadri tot...
El codi no rebesteix cap dificultat:
ALTERPROCEDURE [dbo].[DI_EXP_DESTRUCCIO_INS]
--La PK va com a OUTPUT
@pPK_Destruccio intOUTPUT,
@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 intASBEGININSERTINTO DI_EXP_DESTRUCCIO (
FK_TAAD,
FK_Arxiu,
Any_obertura,
Any_tancament,
Metres,
Data_Destruccio,
Observacions,
bCataleg,
Serie_documental,
MK_UsuariAlta,
MK_DataAlta,
MK_UsuariModif,
MK_DataModif,
FK_Estat,
NumExpedients,
FK_Classificacio,
FK_Especifica
) VALUES (
--La PK no es posa aqui
@pFK_TAAD,
@pFK_Arxiu,
@pAny_obertura,
@pAny_tancament,
@pMetres,
@pData_Destruccio,
@pObservacions,
@pbCataleg,
@pSerie_documental,
@pMK_UsuariAlta,
@pMK_DataAlta,
@pMK_UsuariModif,
@pMK_DataModif,
@pFK_Estat,
@pNumExpedients,
@pFK_Classificacio,
@pFK_Especifica
);
--Aqui es recupera la PK que s'ha generat (només amb les identitats)SET @pPK_Destruccio = IDENT_CURRENT('DI_EXP_DESTRUCCIO')
END
#22/11/2013 13:26 Programació SQLServer Autor: Alex Canalda