Ver Mensaje Individual
  #14 (permalink)  
Antiguo 08/07/2008, 11:12
Avatar de lanzi
lanzi
 
Fecha de Ingreso: noviembre-2005
Ubicación: BUENOS AIRES
Mensajes: 55
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Update Con Alguna Falla ¿cual Es?

Cada vez se me complica mas!!!! No puedo creer que sea tan dificil hacer algo tan simple en SQL SERVER ahora en el 2008!!!
Bueno, basta de llanto, a sobreponerse, entonces, la solucion seria algo como esto? Por favor diganme en que me equivoco porque no doy con la solucion desde hace mas o menos un mes, les transcribo una parte de lo que hice, pero el resto seria igual, no se rian mucho...

ALTER PROCEDURE [dbo].[SP_FICHA_ID_PARA_MODIFICACIONES]
@ID int,
@Id_Personal int output,
@carpeta smallint output,
@apellido varchar (20) output,
@nombre varchar (20) output,
@grado varchar (35) output,
@escalafon varchar (25) output,
@lp int output,
@dni int output,
@foto varchar (150) output,
@orden int output,
@sit varchar (25) output,
@destino varchar (255) output
as
UPDATE
GRADO
SET
CAMPO_GRADO = ISNULL (@grado, CAMPO_GRADO)
FROM
dbo.ASCENSOS INNER JOIN
dbo.GRADO ON dbo.ASCENSOS.Id_Grado = dbo.GRADO.Id_Grado INNER JOIN
dbo.PERSONAL ON dbo.ASCENSOS.Id_Personal = dbo.PERSONAL.Id_Personal INNER JOIN
dbo.SITUACION_DE_REVISTA ON dbo.PERSONAL.Id_Revista = dbo.SITUACION_DE_REVISTA.Id_Revista INNER JOIN
dbo.DESTINOS ON dbo.PERSONAL.Id_Personal = dbo.DESTINOS.Id_Personal INNER JOIN
dbo.DEPENDENCIAS ON dbo.DESTINOS.Id_Cod_Dpcia = dbo.DEPENDENCIAS.Id_Cod_Dpcia INNER JOIN
dbo.DATOS_SECUNDARIOS ON dbo.PERSONAL.Id_Personal = dbo.DATOS_SECUNDARIOS.Id_Personal INNER JOIN
dbo.FOTOS ON dbo.FOTOS.Id_Personal = dbo.PERSONAL.Id_Personal INNER JOIN
dbo.ESCALAFON ON dbo.PERSONAL.Id_Escalafon = dbo.ESCALAFON.Id_Escalafon
WHERE (dbo.ASCENSOS.ACTUAL_ASCENSO = 1) AND (dbo.DESTINOS.ACTUAL_DESTINOS = 1) AND
(dbo.SITUACION_DE_REVISTA.TIPO_SITUACION_REVISTA = 1) AND (dbo.PERSONAL.Id_Personal = @ID)
SET DATEFORMAT dmy

UPDATE
ESCALAFON
SET
CAMPO_ESCALAFON = ISNULL (@escalafon, CAMPO_ESCALAFON)
FROM
dbo.ASCENSOS INNER JOIN
dbo.GRADO ON dbo.ASCENSOS.Id_Grado = dbo.GRADO.Id_Grado INNER JOIN
dbo.PERSONAL ON dbo.ASCENSOS.Id_Personal = dbo.PERSONAL.Id_Personal INNER JOIN
dbo.SITUACION_DE_REVISTA ON dbo.PERSONAL.Id_Revista = dbo.SITUACION_DE_REVISTA.Id_Revista INNER JOIN
dbo.DESTINOS ON dbo.PERSONAL.Id_Personal = dbo.DESTINOS.Id_Personal INNER JOIN
dbo.DEPENDENCIAS ON dbo.DESTINOS.Id_Cod_Dpcia = dbo.DEPENDENCIAS.Id_Cod_Dpcia INNER JOIN
dbo.DATOS_SECUNDARIOS ON dbo.PERSONAL.Id_Personal = dbo.DATOS_SECUNDARIOS.Id_Personal INNER JOIN
dbo.FOTOS ON dbo.FOTOS.Id_Personal = dbo.PERSONAL.Id_Personal INNER JOIN
dbo.ESCALAFON ON dbo.PERSONAL.Id_Escalafon = dbo.ESCALAFON.Id_Escalafon
WHERE (dbo.ASCENSOS.ACTUAL_ASCENSO = 1) AND (dbo.DESTINOS.ACTUAL_DESTINOS = 1) AND
(dbo.SITUACION_DE_REVISTA.TIPO_SITUACION_REVISTA = 1) AND (dbo.PERSONAL.Id_Personal = @ID)
SET DATEFORMAT dmy

Y ASI CON CADA UNO DE LOS CAMPOS DE LAS DIFERENTES TABLAS?