pues he encontrado esta solucion y ya me funciona pero sigo sin Entenderla
Código SQL:
Ver originalCREATE proc insertaPersonas1
@documento AS INT
,@codigo AS INT
,@nombres AS VARCHAR(100)
,@apellidos AS VARCHAR(100)
,@fechanacimiento AS DATE
,@correo AS VARCHAR(100)
,@Observacorreo AS VARCHAR(100)
AS
BEGIN try
BEGIN TRANSACTION
INSERT INTO PERSONAS (Documento,Codigo_empresario,Nombres,apellidos,fecha_nacimiento)
VALUES(@documento,@codigo,@nombres,@apellidos,@fechanacimiento);
DECLARE @idpersona AS INT
SET @idpersona='';
SET @idpersona=IDENT_CURRENT('PERSONAS')
INSERT INTO CORREOS(correo_electronico,estado_correo_electronico)
VALUES(@correo,@Observacorreo);
DECLARE @idcorreo AS INT
SET @idcorreo=IDENT_CURRENT('CORREOS')
INSERT INTO CORREOS_PERSONAS (id_persona,id_correo_electronico)
VALUES(@idpersona,@idcorreo);
commit tran
END try
BEGIN catch
ROLLBACK
print error_message()
END catch
SET @idpersona=IDENT_CURRENT('PERSONAS') ??
SET @idcorreo=IDENT_CURRENT('CORREOS') ??
Seguire investigando en San Google
un abrazo ingenieros
quedo atento a sus amables comentarios