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

Procedimiento Almacenado Update

Estas en el tema de Procedimiento Almacenado Update en el foro de SQL Server en Foros del Web. Hola a todos los amigos tengo este código en un procedimiento almacenado para actualizar un cliente. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original USE [ Volquetas ...
  #1 (permalink)  
Antiguo 10/04/2012, 14:22
 
Fecha de Ingreso: febrero-2012
Mensajes: 44
Antigüedad: 12 años, 2 meses
Puntos: 0
Procedimiento Almacenado Update

Hola a todos los amigos tengo este código en un procedimiento almacenado para actualizar un cliente.
Código SQL:
Ver original
  1. USE [Volquetas]
  2. GO
  3. /****** Object:  StoredProcedure [dbo].[ActualizarCliente]    Script Date: 04/10/2012 16:09:29 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- =============================================
  9. -- Author:      Roberto Carlos Melgar
  10. -- Create date:
  11. -- Description:
  12. -- =============================================
  13. CREATE PROCEDURE [dbo].[ActualizarCliente]
  14.     -- Add the parameters for the stored procedure here
  15.     @IdCliente INT,
  16.     @NombreActCliente nvarchar(50),
  17.     @ApellidosActCliente nvarchar(50),
  18.     @DirecciónActCliente nvarchar(50)
  19.    
  20. AS
  21. --BEGIN
  22. --   SET NOCOUNT ON add  to prevent extra result sets from
  23. --   interfering with SELECT statements.
  24. --  SET NOCOUNT ON;
  25.  
  26.     -- Insert statements for procedure here
  27.     UPDATE Clientes
  28.     SET NombreCliente= @NombreActCliente,ApellidosCliente= @ApellidosActCliente,Direccion = @DirecciónActCliente
  29.     WHERE IdCliente = @IdCliente
  30. --END

y por lo que veo cuando ejecuté vi que tenia que llenar todos los campos para que mi código se ejecute.

este es mi código de ejecunción.

Código SQL:
Ver original
  1. USE [Volquetas]
  2. GO
  3.  
  4. DECLARE @return_value INT
  5.  
  6. EXEC    @return_value = [dbo].[ActualizarCliente]
  7.         @IdCliente = 311,
  8.         @NombreActCliente = N'Carlos Daniel',
  9.         @ApellidosActCliente = N'Aguilar Mendez',
  10.         @DirecciónActCliente = N'Santa Cruz'
  11.  
  12. SELECT  'Return Value' = @return_value
  13.  
  14. GO

Que pasaría si solo quiero cambiar el nombreCliente tengo que llenar tambien los demás campos?.

por favor me pueden decir que tengo que hacer para cambiar mi procedimiento

Gracias

Roberto Melgar
  #2 (permalink)  
Antiguo 10/04/2012, 16:33
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: Procedimiento Almacenado Update

Hola.
creo que podrias hacer algo asi, prueba y me avisas

Código:
UPDATE Clientes 28 
SET NombreCliente= isnull(@NombreActCliente,NombreCliente),
ApellidosCliente= isnull(@ApellidosActCliente,ApellidosCliente),
Direccion = isnull(@DirecciónActCliente29,Direccion )
WHERE IdCliente = @IdCliente
La verdad no lo he probado pero me imagino que te serviria.
__________________
Mario Ramírez
Desarrollador .NET MCTS
https://www.mcpvirtualbusinesscard.c...nteractivecard
  #3 (permalink)  
Antiguo 11/04/2012, 07:10
 
Fecha de Ingreso: febrero-2012
Mensajes: 44
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Procedimiento Almacenado Update

Cita:
Iniciado por ramirezmario7 Ver Mensaje
Hola.
creo que podrias hacer algo asi, prueba y me avisas

Código:
UPDATE Clientes 28 
SET NombreCliente= isnull(@NombreActCliente,NombreCliente),
ApellidosCliente= isnull(@ApellidosActCliente,ApellidosCliente),
Direccion = isnull(@DirecciónActCliente29,Direccion )
WHERE IdCliente = @IdCliente
La verdad no lo he probado pero me imagino que te serviria.
Gracias por el tiempo. probé pero aún no consigo.
Haber si se ocurre otra forma

Gracias

Roberto Melgar
  #4 (permalink)  
Antiguo 11/04/2012, 07:30
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Procedimiento Almacenado Update

y si lo pones con un case


Código SQL:
Ver original
  1. UPDATE clientes SET
  2. nombre_cliente=t1.cliente
  3. FROM
  4. (
  5. SELECT CASE WHEN nombre_cliente='' OR isnull(nombre_cliente,0)=0 THEN nombre_cliente ELSE @nombre_cliente END AS cliente
  6. ) AS t1 WHERE clientes.id_cliente=@id_cliente
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 11/04/2012, 08:09
 
Fecha de Ingreso: febrero-2012
Mensajes: 44
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Procedimiento Almacenado Update

Gracias... sigue pidiendo los demás datos

per se me viene a la mente que cuando este en el formulario al momento de visualizar y habilitar los campos ya estará llenos con los datos actuales y pues solo cambiaría los datos que necesito y listo.

Ojala y funciones.

sino volvere a molestar por acá.

Gracias a todos

Etiquetas: procedimiento, select, update, almacenar, campos
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:49.