none
deseo ejemplos IDENT_CURRENT RRS feed

Respuestas

  • Correcto, entonces te vale la respuesta primera. Ojo, que por el mensaje de error que te sale, "No se puede actualizar la columna de identidad 'ID_Factura'", tienes el error de que ese campo SÍ que lo tienes puesto como identity cuando no debe serlo.
    • Propuesto como respuesta Willams Morales viernes, 9 de septiembre de 2016 23:12
    • Marcado como respuesta DOSA_INFORMATICA jueves, 15 de septiembre de 2016 17:50
    viernes, 9 de septiembre de 2016 20:23

Todas las respuestas

  • Hola amigos como esta saludo 

    tengo un problema nesecito obtener el id de una tabla Factura poner ese id en otra tabla diferente

    Como sabran el id de la tabla Factura un identificador +1 por no me deja actulizar en la otra tabla cuyo campo se llama ID_Factura_Detalle no es un identificador

     como lo hago me manda este error en la consulta

    No se puede actualizar la columna de identidad 'ID_Factura'.

    Esta es mi consulta:

    ALTER PROC [dbo].[GETFACTDETALLE]
    @ID_Factura_detalle AS INT OUTPUT,
    @Nosol AS NVARCHAR(20),
    @No_Factura AS NVARCHAR(50),
    	@NO_COMP AS NVARCHAR(50),
    	@cuenta AS NVARCHAR(50), 
    	@DesCta AS NVARCHAR (50),
    	@DEBE AS FLOAT ,
    	@HABER AS FLOAT,
    	@accion AS NVARCHAR(10)
    		AS 
    		
    		declare @no AS int	
        SELECT @NO=cf.ID_Factura FROM CCH_FACTURA AS cf
        SET @ID_Factura_detalle=@no	
    	PRINT 	@no
    	
    		
    		
    	IF @accion='NEW'
    	BEGIN
    		INSERT INTO CCH_FACTURADETALLES
    (
    	ID_Factura_detalle ,
    	Nosol,
    	No_Factura,
    	NO_COMP,
    	cuenta,
    	DesCta,
    	DEBE,
    	HABER
    )
    VALUES
    (	@ID_Factura_detalle,
    	@Nosol,
    	@No_Factura,
    	@NO_COMP,
    	@cuenta,
    	@DesCta,
    	@DEBE,
    	@HABER
    )
    UPDATE CCH_FACTURA
    SET
    		 ID_Factura = @ID_Factura_detalle
    Gracias espero su ayuda


    viernes, 9 de septiembre de 2016 19:37
  • Ejemplo:

    Insertamos en la primera:

    Insert Into tabla1(campos1) values (valores1)

    Recuperamos el último ID

    set @ultimoId = SCOPE_IDENTITY()

    Insertamos en la segunda:

    Insert Into tabla2(Id2, Id1, otroscampos) values (loquesea, @ultimoId, otrosValores)

    Notas: En donde he puesto "campos1", la lista NO puede incluir el Id1 puesto que es Identity (si no lo es, no tiene sentido lo de intentar recuperarlo después).

    En la tabla2, solo se pone el Id2 como yo lo he puesto si NO es autonumérico, de lo contrario hay que omitirlo. El Id1 en esta segunda tabla NO puede ser autonumérico (solo lo es en la tabla 1).

    Editado: Esa es la respuesta a la primera pregunta, dado que un moderador ha combinado dos preguntas. La respuesta a la segunda es que ese error indica un mal diseño de la segunda tabla, en la que se ha marcado como Identity el dato que se está tomando de la primera (que solo debe ser identity en la primera tabla, no en la segunda).

    viernes, 9 de septiembre de 2016 20:00
  • correcto el id de mi segunda tabla no es automático por que lo que deseo es recuperar lo de mi primera tabla
    viernes, 9 de septiembre de 2016 20:02
  • Correcto, entonces te vale la respuesta primera. Ojo, que por el mensaje de error que te sale, "No se puede actualizar la columna de identidad 'ID_Factura'", tienes el error de que ese campo SÍ que lo tienes puesto como identity cuando no debe serlo.
    • Propuesto como respuesta Willams Morales viernes, 9 de septiembre de 2016 23:12
    • Marcado como respuesta DOSA_INFORMATICA jueves, 15 de septiembre de 2016 17:50
    viernes, 9 de septiembre de 2016 20:23