旗舰版新增职员提示定义的程序或对象错误?

【问题描述】
旗舰版新增职员提示定义的程序或对象错误,高级中显示:不能将值NULL插入列‘Fname’,表‘t_Base_Emp’列不允许有NULL值。如下图所示:

【原因分析】
t_Emp视图中的触发器进行更新。
【解决方案】
可参考以下脚本执行处理:
ALTER TRIGGER [dbo].[trg_t_Emp_InsUptDel] ON [dbo].[t_Emp]
INSTEAD OF INSERT,UPDATE,DELETE
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON
DECLARE @ERROR INT
SET @ERROR=0
IF EXISTS(SELECT 1 FROM Deleted)
BEGIN
DELETE t_Base_Emp FROM t_Base_Emp INNER JOIN Deleted ON t_Base_Emp.FItemID=Deleted.FItemID
SET @ERROR=@ERROR+@@ERROR
DELETE HR_Base_Emp FROM HR_Base_Emp INNER JOIN (SELECT FItemID FROM Deleted WHERE NOT EXISTS(SELECT FItemID FROM Inserted WHERE Deleted.FItemID=Inserted.FItemID)) t1 ON HR_Base_Emp.FItemID=t1.FItemID
SET @ERROR=@ERROR+@@ERROR
UPDATE HR_Base_User SET FEmpID=NULL WHERE FEmpID NOT IN (SELECT EM_ID FROM HR_Base_Emp)
SET @ERROR=@ERROR+@@ERROR
END
IF EXISTS (SELECT 1 FROM Inserted)
BEGIN
INSERT INTO t_Base_Emp (FItemID,FAccount,FAccountName,FAddress,FAllotPercent,FAllotWeight,FBankAccount,FBankID,FBirthday,FBranchID,FBrNO,FCity,FCreditAmount,FCreditDays,FCreditLevel,FCreditPeriod,FDegree,FDeleted,FDepartmentID,FDuty,FEmail,FEmpGroup,FEmpGroupID,FGender,FHelpcode,FHireDate,FID,FIsCreditMgr,FItemDepID,FJobTypeID,FLeaveDate,FMicroBlogPassword,FMobilePhone,FName,FNote,FNumber,FOpenID,FOperationGroup,FOtherAPAcctID,FOtherARAcctID,FParentID,FPersonalBank,FPhone,FPreAPAcctID,FPreARAcctID,FProfessionalGroup,FProvince,FShortNumber)
SELECT FItemID,ISNULL(FAccount,''),FAccountName,FAddress,ISNULL(FAllotPercent,0),ISNULL(FAllotWeight,0),FBankAccount,ISNULL(FBankID,0),FBirthday,ISNULL(FBranchID,(0)),ISNULL(FBrNO,'0'),ISNULL(FCity,(0)),FCreditAmount,FCreditDays,ISNULL(FCreditLevel,0),ISNULL(FCreditPeriod,0),FDegree,ISNULL(FDeleted,0),FDepartmentID,FDuty,FEmail,FEmpGroup,ISNULL(FEmpGroupID,0),ISNULL(FGender,1068),FHelpcode,FHireDate,FID,ISNULL(FIsCreditMgr,0),ISNULL(FItemDepID,0),ISNULL(FJobTypeID,0),FLeaveDate,FMicroBlogPass
旗舰版新增职员提示定义的程序或对象错误?
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



