标签:INSERTED fuserid 异常 金蝶 用户 icreportprofile where LedgerPageSetup SELECT
一,先清除用户配置表,如果清除以后还有问题,请继续清除下面的表数据。 --根据用户名清除用户配置表 delete t_userprofile where fuserid =(select fuserid from t_user where fname='manager'); 二,清除方案表: --根据用户名清除打印设置方案 delete t_LedgerPageSetup where fuserid =(select fuserid from t_user where fname='manager'); --根据用户名清除用户报表方案表 delete icreportprofile where fuserid =(select fuserid from t_user where fname='manager'); ----终极解决方案:触发器解决。(慎用!!会导致用户不能保存查询方案或打印方案)。将以下触发器创建到数据库中去就好了。 --当icreportprofile被插入记录时,触发以下代码 CREATE TRIGGER tri_icreportprofile_Insert ON icreportprofile after INSERT AS DECLARE @fuserid INTEGER; BEGIN -- 取得插入的 @fuserid SELECT @fuserid = fuserid FROM INSERTED; IF EXISTS ( SELECT * FROM icreportprofile WHERE fuserid = @fuserid ) BEGIN -- 不允许记录被插入,删除记录 DELETE FROM icreportprofile WHERE fuserid = (SELECT fuserid FROM INSERTED); delete from t_userprofile where fuserid =(SELECT fuserid FROM INSERTED); delete from t_LedgerPageSetup where fuserid =(SELECT fuserid FROM INSERTED); END END --当t_LedgerPageSetup被插入记录时,触发以下代码 CREATE TRIGGER tri_LedgerPageSetup_Insert ON t_LedgerPageSetup after INSERT AS DECLARE @fuserid INTEGER; BEGIN -- 取得插入的 @fuserid SELECT @fuserid = fuserid FROM INSERTED; IF EXISTS ( SELECT * FROM t_LedgerPageSetup WHERE fuserid = @fuserid ) BEGIN -- 不允许记录被插入,删除记录 DELETE FROM icreportprofile WHERE fuserid = (SELECT fuserid FROM INSERTED); delete from t_userprofile where fuserid =(SELECT fuserid FROM INSERTED); delete from t_LedgerPageSetup where fuserid =(SELECT fuserid FROM INSERTED); END END
标签:INSERTED,fuserid,异常,金蝶,用户,icreportprofile,where,LedgerPageSetup,SELECT 来源: https://www.cnblogs.com/qicaoyu1/p/12876142.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。