Files
old_jintiantongye_wms/db/数据库更新20171027(库位基本信息表上触发器).sql

72 lines
5.1 KiB
MySQL
Raw Normal View History

2025-09-12 17:30:18 +08:00
<EFBFBD><EFBFBD>USE ASRS_WXZD_JYMH_CPK
go
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TABLE kwjbxx ALTER COLUMN <EFBFBD>S8OMO<EFBFBD><EFBFBD> g'<EFBFBD> TINYINT NULL
go
ALTER TRIGGER [dbo].[t_kwjbxx_U] ON [dbo].[kwjbxx]
FOR UPDATE
AS
/**
* (W;`peϑ<EFBFBD>NvQ<EFBFBD>[<P<EFBFBD>S:N0<EFBFBD>e <EFBFBD>nzzXb<EFBFBD>v<EFBFBD>S0<EFBFBD>^X[<EFBFBD>\<P0<EFBFBD>[E<EFBFBD>irD<EFBFBD>{|<EFBFBD>W0Y<EFBFBD>eUS<EFBFBD>S0<EFBFBD>[>eirD<EFBFBD><EFBFBD>y{|
* <EFBFBD>Y<EFBFBD>g<EFBFBD>O9eT<EFBFBD>v;`peϑ'Y<EFBFBD>N<EFBFBD>O9eMR<EFBFBD>v;`peϑ <0C>R<>f<EFBFBD>e<EFBFBD>^X[<5B>\<P:N<>O9eT<>v;`peϑ
* Created by <EFBFBD><EFBFBD>zfXn ON 05-07-08
* Modified by <EFBFBD><EFBFBD>zfXn ON 05-08-23 <EFBFBD>Y<EFBFBD>g<EFBFBD>O9e;`peϑMR<EFBFBD>_<EFBFBD>^X[peϑ<EFBFBD>S<EFBFBD><EFBFBD>:NNULL <EFBFBD>dk<EFBFBD>e_N<EFBFBD><EFBFBD><EFBFBD><EFBFBD>O9e<EFBFBD>^X[<EFBFBD>\<P
* Modified by jzx on 2009-8-22 <EFBFBD>^X[;`peϑn<EFBFBD><EFBFBD><EFBFBD>e <EFBFBD><EFBFBD>e<EFBFBD>XW[<EFBFBD>kkzjrks<EFBFBD><EFBFBD>S<EFBFBD><EFBFBD><EFBFBD>ReQ<EFBFBD>^pe <EFBFBD>nzz0
* Modified by jzx on 2014-12-9 <EFBFBD>X<EFBFBD>R<EFBFBD>[<EFBFBD>eW[<EFBFBD>k <EFBFBD>S8OMO<EFBFBD><EFBFBD> g'<EFBFBD> K<><P<1B>sQ<73><51><EFBFBD>[kcfzW[<5B>k<EFBFBD>vK<76><P
* Modified by jzx on 2015-6-24 S_<EFBFBD>^MO<EFBFBD>^X[;`pe<EFBFBD>f9e:N0<EFBFBD>e <EFBFBD> N<EFBFBD>QnzzXb<EFBFBD>v<EFBFBD>SW[<EFBFBD>k<P0/f:N<EFBFBD>NYtte<EFBFBD>v<EFBFBD>Q<EFBFBD>^c<EFBFBD>N<EFBFBD>[8hT <EFBFBD><EFBFBD>S<EFBFBD>m<EFBFBD>[8h<EFBFBD>eXb<EFBFBD>v<EFBFBD>S<EFBFBD>e<EFBFBD>l Y<EFBFBD>S<EFBFBD>
* Modified by jzx on 2015-11-24 S_<EFBFBD>f9e Xb<EFBFBD>v*Npe W[<EFBFBD>k<P<EFBFBD>e <EFBFBD><EFBFBD>Y<EFBFBD>gS_MR<EFBFBD>^MOX[>eirD<EFBFBD>/fzzXb<EFBFBD>v <EFBFBD>R<EFBFBD>v<EFBFBD>c<EFBFBD>O9ezslW[<EFBFBD>k<P;
S_zz<EFBFBD>^MO<EFBFBD><EFBFBD><EFBFBD>[Xb<EFBFBD>v*Npe'Y<EFBFBD>N0T <0C>sfwzzlW[<5B>k<PꁨR<EA81A8>f<EFBFBD>e:N'T'
* Modified by jzx on 2016-8-27 jzx S_<EFBFBD>O9eXb<EFBFBD>v*NpeW[<EFBFBD>k<P<EFBFBD>N00R1<EFBFBD>e <EFBFBD> N<EFBFBD>Q<EFBFBD>f9esfwzzlW[<EFBFBD>k<P
* Modified by jzx on 2017-11-27 OS<EFBFBD>[kwjbxxh<EFBFBD><EFBFBD>v <EFBFBD>S8OMO<EFBFBD><EFBFBD> g'<EFBFBD> W[<5B>k<EFBFBD>vK<76><P<>e<EFBFBD>l01u<31>Seg<65>v4ag<61><67><EFBFBD>S<EFBFBD>f9e:N1ag<61><67><EFBFBD>S
*/
IF UPDATE(zsl)
BEGIN
SET NOCOUNT ON;
IF EXISTS(SELECT 2 FROM inserted WHERE zsl = 0)
UPDATE kwjbxx SET kcfz = NULL, sjwzlx = NULL, sfwzzl = NULL, kzjrks = NULL
FROM inserted I
WHERE I.kwbh = kwjbxx.kwbh
AND I.zsl = 0;
IF EXISTS(SELECT 2 FROM inserted WHERE xnkw = 0 AND (nckw IS NOT NULL OR wckw IS NOT NULL))
BEGIN
UPDATE kwjbxx SET <EFBFBD>S8OMO<EFBFBD><EFBFBD> g'<EFBFBD>=
CASE WHEN (r.zsl > 0 AND wc.Em'<EFBFBD>MO<EFBFBD>^X[pe>0)
OR (r.zsl > 0 AND nc.<EFBFBD>m'<EFBFBD>MO<EFBFBD>^X[pe>0) THEN 3
-- <EFBFBD>m'<EFBFBD>MO g'<EFBFBD> <EFBFBD>R<EFBFBD>f<EFBFBD>e:N1
WHEN nc.<EFBFBD>m'<EFBFBD>MO<EFBFBD>^X[pe> 0 THEN 1
-- Em'<EFBFBD>MO g'<EFBFBD> <EFBFBD>R<EFBFBD>f<EFBFBD>e:N2
WHEN wc.Em'<EFBFBD>MO<EFBFBD>^X[pe> 0 THEN 2
ELSE 0 END
FROM kwjbxx r LEFT JOIN (SELECT zsl Em'<EFBFBD>MO<EFBFBD>^X[pe, kwbh FROM kwjbxx) wc ON r.wckw=wc.kwbh
LEFT JOIN (SELECT zsl <EFBFBD>m'<EFBFBD>MO<EFBFBD>^X[pe, kwbh FROM kwjbxx) nc ON r.nckw=nc.kwbh
, inserted i
WHERE (i.nckw IS NOT NULL OR i.wckw IS NOT NULL)
AND (r.kwbh IN(i.nckw,i.wckw,i.kwbh))
END;
END
go
UPDATE kwjbxx SET <EFBFBD>S8OMO<EFBFBD><EFBFBD> g'<EFBFBD>=r.x
FROM ( select r.kwbh,r.zsl,r.wckw,Em'<EFBFBD>MO<EFBFBD>^X[pe,r.nckw,<00>m'<EFBFBD>MO<EFBFBD>^X[pe
, CASE WHEN (r.zsl > 0 AND wc.Em'<EFBFBD>MO<EFBFBD>^X[pe>0) OR (r.zsl > 0 AND nc.<00>m'<EFBFBD>MO<EFBFBD>^X[pe>0) THEN 3
WHEN nc.<EFBFBD>m'<EFBFBD>MO<EFBFBD>^X[pe> 0 THEN 1
WHEN wc.Em'<EFBFBD>MO<EFBFBD>^X[pe> 0 THEN 2
ELSE 0 END x
from
kwjbxx r LEFT JOIN (SELECT zsl Em'<EFBFBD>MO<EFBFBD>^X[pe, kwbh FROM kwjbxx) wc ON r.wckw=wc.kwbh
LEFT JOIN (SELECT zsl <EFBFBD>m'<EFBFBD>MO<EFBFBD>^X[pe, kwbh FROM kwjbxx) nc ON r.nckw=nc.kwbh
WHERE (nckw IS NOT NULL OR wckw IS NOT NULL)
) r
WHERE kwjbxx.kwbh=r.kwbh
go
-- kwsW[<EFBFBD>k<EFBFBD>Njava<EFBFBD>Nx<EFBFBD>yeQpenc<EFBFBD>^<EFBFBD><EFBFBD>S8O<EFBFBD>^MO<EFBFBD><EFBFBD><EFBFBD>l gXb<EFBFBD>v<EFBFBD>vOHQ<EFBFBD>[<EFBFBD>c <EFBFBD><EFBFBD>m'<EFBFBD>MO g<>vEm'<EFBFBD>MO<EFBFBD>l g<EFBFBD>v <EFBFBD>R!kO<EFBFBD>[<EFBFBD>c
update sys_SQL_statements set SQL_string='kws,<00>S8OMO<4D><4F> g'<EFBFBD>,storeDist'
where ID='orderClauseForDistance';
go