Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

SP Update Dinamico

Estas en el tema de SP Update Dinamico en el foro de SQL Server en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 01/09/2008, 09:36
 
Fecha de Ingreso: diciembre-2007
Mensajes: 22
Antigüedad: 16 años, 4 meses
Puntos: 0
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
  #2 (permalink)  
Antiguo 01/09/2008, 09:44
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: SP Update Dinamico

cual es el avance que tienes?

aqui en el foro puedes encontrar varios ejemplos de SQL Dinamico....

puedes buscar por sp_executesql o execute..

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 01/09/2008, 20:25
 
Fecha de Ingreso: diciembre-2007
Mensajes: 22
Antigüedad: 16 años, 4 meses
Puntos: 0
Mensaje 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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:38.