CREATE procedure dbo.spSzamlak (@MUV varchar(4), @ID int, @Szamla_Szam nvarchar(50), @Szamla_Datum smalldatetime, @Szamla_Nev nvarchar(50), @Szamla_Hely nvarchar(100), @Szamla_Megjegyzes nvarchar(500), @Behozo nvarchar (50), @Osszeg float(8), @Fiszkalis_EV nvarchar(4), @Objektum nvarchar(50), @Aru_Tipus nvarchar(50), @Lezart int, @Lezarta_Felhasznalo char(50), @Km float, @visszaID int output ) AS BEGIN IF @MUV='INS' BEGIN INSERT INTO [Transport].[dbo].[Forgalom]([Szamla_Szam], [Szamla_Datum], [Szamla_Nev],[Szamla_Hely],[Szamla_Megjegyzes],[Behozo],[Fiszkalis_EV],[Objektum],[Aru_Tipus],[Lezart],[Lezarta_Felhasznalo],[Osszeg],[Km]) VALUES(@Szamla_Szam,@Szamla_Datum,@Szamla_Nev,@Szamla_Hely,@Szamla_Megjegyzes,@Behozo,@Fiszkalis_EV,@Objektum,@Aru_Tipus,@Lezart,@Lezarta_Felhasznalo, @Osszeg, @Km) select @visszaid=IDENT_CURRENT(' [Transport].[dbo].[Forgalom]') END IF @MUV='UPD' BEGIN UPDATE [Transport].[dbo].[Forgalom] SET Szamla_Szam=@Szamla_Szam, Szamla_Datum=@Szamla_Datum, Szamla_Nev=@Szamla_Nev, Szamla_Hely=@Szamla_Hely, Szamla_Megjegyzes=@Szamla_Megjegyzes, Behozo=@Behozo, Fiszkalis_EV=@Fiszkalis_EV, Objektum=@Objektum, Aru_Tipus=@Aru_Tipus, Lezart=@Lezart, Lezarta_Felhasznalo=@Lezarta_Felhasznalo, Osszeg=@Osszeg, Km=@Km where ID=@ID END IF @MUV='DEL' BEGIN DELETE [Transport].[dbo].[Forgalom] where ID=@ID END END GO -------------------- code from delphi -------------------- note : spFORGALOM @visszaid is set to OUTPUT in the parameters of spFORGALOM tadostoredprocedure spFORGALOM.Parameters.ParamValues['@MUV']:='INS'; spFORGALOM.ExecProc; pozicio_id:=spFORGALOM.Parameters.ParambyName('@visszaid').Value; I've set a breakpoint at the pozicio_id line ... and the @visszaid value is null ... how come? I wish to have the ID of the currently inserted line.