Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    stored insert + scope_identity

    Ennesimo problema su stored... o prima o poi ci capirò qualcosa!

    Non so se sia corretta:
    CREATE PROCEDURE T_ContrattiInsProc
    (
    @TipoDoc int,
    @IdCliente int,
    @CodiceContratto varchar(20),
    @DataStipula SmallDateTime,
    @Decorrenza SmallDateTime,
    @Scadenza SmallDateTime,
    @Rate int,
    @ModPagamento varchar(255),
    @Importo Decimal(9,2),
    @Originale bit,
    @Firmato bit,
    @Disdetto bit,
    @Note varchar(8000),
    @IdContratto int,
    @IdContratto2 int OUTPUT
    )
    AS
    BEGIN
    BEGIN TRAN
    UPDATE T_Contatori SET Contratti = (SELECT Contratti + 1 FROM T_Contatori)

    IF @TipoDoc=1 OR @TIpoDoc=2
    BEGIN
    INSERT INTO T_Contratti (IdCliente, CodiceContratto, DataStipula, Decorrenza, Scadenza, Rate, ModPagamento, Importo, Originale, Firmato, Disdetto, Note)
    VALUES (@IdCliente, @CodiceContratto, @DataStipula, @Decorrenza, @Scadenza, @Rate, @ModPagamento, @Importo, @Originale, @Firmato, @Disdetto, @Note)
    SELECT @IdContratto2=SCOPE_IDENTITY() FROM T_Contratti
    ROLLBACK TRAN
    Return @IdContratto2
    END
    ELSE
    .........
    COMMIT TRAN
    END
    GO
    Praticamente non ho nessun errore solo che pur restituendo correttamente l'identity libero quando faccio IdContratto = CmdUp.Parameters("@IdContratto2").Value non mi fa nessuna insert. Mentre, prima che aggiungessi la select per leggere l'identity la faceva correttamente. Ma non va in successione? non dovrebbe inserire i dati e poi fornire l'identity?

    Elisa

  2. #2
    Prova con


    SELECT @IdContratto2=@@Identity


    Ciao
    K
    Kalman

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.