Este problema es debido a un trigger del expediente, donde el objetivo es crear al usuario y algunas otras validaciones, el cual no se ha actualizado y debe ser implementado en el siguiente release, donde el usr_codexp ya no existe.
el script correcto y modificado por Juan Carlos Soria es:
IF EXISTS (SELECT * FROM sys.triggers WHERE object_id = OBJECT_ID(N'[exp].[exp_expedientes_ins_upd]'))
DROP TRIGGER [exp].[exp_expedientes_ins_upd]
GO
CREATE TRIGGER [exp].[exp_expedientes_ins_upd]
ON [exp].[exp_expedientes]
AFTER INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON;
IF UPDATE(exp_email_interno)
BEGIN
-- Actualiza el username con el nombre de la cuenta de correo interno sacado cuando se actualiza el expediente del empleado
update sec.usr_users
set usr_username = substring(ltrim(rtrim(substring(exp_email_interno, 0, charindex('@', exp_email_interno)))), 0, 50)
from sec.usr_users u
join sec.eus_expediente_usuario on eus_codusr = usr_codigo
join inserted i on eus_codexp = i.exp_codigo
where ltrim(rtrim(isnull(exp_email_interno, ''))) != ''
END;
END;
GO
answered
30 May '13, 21:00
Jimy Tobar ♦♦
(suspended)
accept rate:
56%