ERP系统触发器,字符转换数值,但是字符里面含有“+”不转换。
纠结取名 2018-04-07 11:19:16 ERP系统触发器,如果符合某一个条件(freeItem1='面计'或者freeItem1='足计'),字符转换数值,然后但是字符里面含有“+”不转换?
哪里出问题?
字符型freeItem1=面计、足计
字符型freeItem2=长(1、2、3、4、5……)
字符型freeItem3=宽(1、2、3、4、5……)【可能存在100+200,但是如果像这种字符含有“+”,那就不计算公式】
(1)数值型priuserdefdecm1=长*宽(当freeItem1=‘面计’)
(2)数值型priuserdefdecm1=(长+60)*(宽+60)(当freeItem1=‘足计’)
表SA_SaleOrder_b是销售订单表体,id作为区分唯一性。
create TRIGGER [dbo].[SA_SaleOrder_b_自由项转数值]
ON [dbo].[SA_SaleOrder_b]
FOR insert,update
AS
begin
declare @id int
declare @freeItem1 varchar(120)
declare @freeItem2 varchar(120)
declare @freeItem3 varchar(120)
select @id=id from inserted
if UPDATE(freeItem1)
update AA_BOM set priuserdefdecm1=CONVERT(int, AA_BOM.freeItem2)*CONVERT(int, AA_BOM.freeItem3) where freeItem3 not like '%[+]%' and id=@id and freeItem1='面计'
update AA_BOM set priuserdefdecm1=(CONVERT(int, AA_BOM.freeItem2)+60)*(CONVERT(int, AA_BOM.freeItem3)+60) where freeItem3 not like '%[+]%' and id=@id and freeItem1='足计'
end