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?