Necesito ayuda para hacer un Procedimiento Alamacenado de actulizacion Dinamica.
Vale decir actualizar solo los campos que contengan datos.
desde ya muy agradecido, por su ayuda
| |||
SP Update Dinamico Necesito ayuda para hacer un Procedimiento Alamacenado de actulizacion Dinamica. Vale decir actualizar solo los campos que contengan datos. desde ya muy agradecido, por su ayuda |
| |||
Respuesta: SP Update Dinamico gracias por responder. La verdad que no encuentro lo que necesito y en realidad nose si podra. Mi idea es hacer un procedimiento almacenado para actualizar los registros, que fuese parecido, al siguiente que es para buscar. CREATE PROCEDURE [dbo].[Tabla1_Consulta] @campo1 INT= 0, @campo2 INT=0, @campofecha1 DATETIME= NULL, @campofecha2 DATETIME= NULL, @Idcampo1 INT=0, @Idcampo2 INT=0 AS BEGIN TRANSACTION BEGIN SELECT campo1,campo2, ..... , campon FROM Tabla1 WHERE (campofecha1 >= @campofecha1 OR @campofecha1=null) AND (campofecha2 <= @@campofecha2 OR @@campofecha2=NULL) AND (campo1 = @campo1 OR @campo1=0) AND (campo2 = @campo2 OR @campo2 = 0) AND (Idcampo1 = @Idcampo1 OR @Idcampo1=0) AND (Idcampo2 = @Idcampo2 OR @Idcampo2=0) END COMMIT TRANSACTION GO Aqui le entrego los parametros para realizar la busqueda en el caso de que algunos de estos parametros fuese NULL para los valores string y 0 en el caso de los valores numericos, estos no son tomados en cosideracion. por ejemplo si en la busqueda solo coloco @campo1, me buscara solo por este campo y los otros campos no seran considerados. El procedimiento que deseo hacer para actualizar tiene la misma mecanica, pero no se como se puede hacer. por ejemplo tengo 3 campos para actualizar CREATE PROCEDURE [dbo].[Tabla1_Actualizar] @idcampo INT= 0, @campo1 Varchar=NULL, @campo2 Varchar=NULL, @campo3 Varchar=NULL AS BEGIN TRANSACTION BEGIN UPDATE dbo.Tabla1 SET campo1 = @campo1, campo2 = @campo2, campo3 = @campo3 WHERE idcampo = @idcampo END COMMIT TRANSACTION GO ahora como se puede hacer si quiero actualizar solo el campo1 y no los demas. ¿? o si quiero actualizar todos los campos menos el campo2. esa es mi duda |