员工单据姓名为空问题

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

员工单据姓名为空问题

## 背景: 第三方系统和星空做了集成,三方系统同步数据到员工单据,但发现员工单据姓名字段偶发出现为空。需要定位原因。 ## 解决方法: 在员工姓名所在的表加触发器,如果员工姓名被更新为空,抛出异常,引起功能终断,在根据日志去排查问题。问题解决后需删除触发器。 1.加触发器 CREATE TRIGGER trg_BDEmpCheckYourFieldNotNull ON T_HR_EMPINFO_L AFTER INSERT, UPDATE AS BEGIN SET NOCOUNT ON; -- 检查插入的记录 IF EXISTS ( SELECT 1 FROM inserted WHERE FNAME = '' or FNAME is null ) BEGIN RAISERROR('Error: T_HR_EMPINFO_L.FNAME.A cannot be NULL for new records.', 16, 1); ROLLBACK TRANSACTION; -- 回滚事务,阻止数据写入 RETURN; END -- 检查更新的记录 IF EXISTS ( SELECT 1 FROM deleted d JOIN inserted i ON d.FPKID = i.FPKID -- 替换PrimaryKeyColumn为您的主键列名 WHERE d.FNAME IS NOT NULL AND (i.FNAME IS NULL or i.FNAME = '') ) BEGIN RAISERROR('Error: T_HR_EMPINFO_L.FNAME.B cannot be set to NULL for existing records.', 16, 1); ROLLBACK TRANSACTION; -- 回滚事务,阻止数据写入 RETURN; END END; 2.删除触发器 drop trigger trg_BDEmpCheckYourFieldNotNull 以上是针对sqlserver数据库写的触发器。oracle需自行调整

员工单据姓名为空问题

## 背景:第三方系统和星空做了集成,三方系统同步数据到员工单据,但发现员工单据姓名字段偶发出现为空。需要定位原因。## 解决方法:在...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息