Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/01/2006, 10:01
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Código:
CREATE procedure spActHist 

@docidentidad varchar(30), 
@fechaincon datetime, 
@fechafincon datetime, 
@idtipocontrato int, 
@idtipovincu int
AS 
if not exists (select [idtipocontrato], [idtipovincu] from Historico where [docidentidad]=@docidentidad) 

insert into 
	[Historico] ([docidentidad],  [fechaincon], [fechafincon], [idtipocontrato], [idtipovincu]) 
values 
	(@docidentidad, @fechaincon, @fechafincon, @idtipocontrato, @idtipovincu)
seria mejor si lo tabulas, para que los que lean puedan apreciar lo que hace tu sp...


con tu sp... puede ser que no grabe porque solo validas que exista el docidentidad...

es decir, con que exista docidentidad con cualquier otro idtipovincu te va a regresar true. osea que si existe y no va a insertar nada hasta que cambies a un docidentidad que no exista con ningun idtipovinco.

en resumen, agrega idtipovincu en tu clausula where del select que mandas a if exists.

un saludo