FSN#28732 Flexkenmerken bij inspecties
svn path=/Database/trunk/; revision=20764
This commit is contained in:
@@ -151,10 +151,10 @@ ALTER TABLE ins_kenmerk DROP CONSTRAINT ins_c_ins_kenmerk_niveau2;
|
||||
ALTER TABLE ins_kenmerk ADD CONSTRAINT ins_c_ins_kenmerk_niveau2
|
||||
CHECK (ins_kenmerk_niveau IS NOT NULL AND (ins_kenmerk_niveau IN('D', 'G', 'S', 'C')));
|
||||
|
||||
CREATE_TABLE(ins_kenmerkdeelsrtcontrole,0)
|
||||
( ins_kenmerkdeelsrtcontrole_key
|
||||
CREATE_TABLE(ins_kmdeelsrtcontr,0)
|
||||
( ins_kmdeelsrtcontr_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT ins_k_kenmerkdeelsrtcontr_key PRIMARY KEY,
|
||||
CONSTRAINT ins_k_kmdeelsrtcontr_key PRIMARY KEY,
|
||||
ins_deelsrtcontrole_key
|
||||
NUMBER(10)
|
||||
NOT NULL REFERENCES ins_deelsrtcontrole (ins_deelsrtcontrole_key) ON DELETE CASCADE,
|
||||
@@ -171,10 +171,10 @@ CREATE_TABLE(ins_kenmerkdeelsrtcontrole,0)
|
||||
ins_kmdeelsrtcontr_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM,
|
||||
CONSTRAINT ins_u_ins_kenmerkdeelsrtcontr UNIQUE(ins_kenmerk_key, ins_deelsrtcontrole_key, ins_kmdeelsrtcontr_verwijder)
|
||||
CONSTRAINT ins_u_ins_kmdeelsrtcontr UNIQUE(ins_kenmerk_key, ins_deelsrtcontrole_key, ins_kmdeelsrtcontr_verwijder)
|
||||
);
|
||||
|
||||
CREATE SEQUENCE ins_s_kenmerkdeelsrtcontr_key MINVALUE 1;
|
||||
CREATE SEQUENCE ins_s_ins_kmdeelsrtcontr_key MINVALUE 1;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////// FSN#28896
|
||||
CREATE_TABLE(ins_deel_state_history, 0)
|
||||
@@ -204,13 +204,14 @@ END;
|
||||
// Truuk: converteer de bekende tracking; vereist wel de bovenstaande trigger
|
||||
INSERT INTO ins_deel_state_history (ins_deel_key, ins_deel_state, ins_deel_statedate)
|
||||
SELECT fac_tracking_refkey ins_deel_key,
|
||||
REPLACE (REPLACE (fac_tracking_oms, 'Status ', ''), '''', ''),
|
||||
MAX(REPLACE (REPLACE (fac_tracking_oms, 'Status ', ''), '''', '')),
|
||||
t.fac_tracking_datum
|
||||
FROM fac_tracking t
|
||||
WHERE t.fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
|
||||
FROM fac_srtnotificatie n
|
||||
WHERE n.fac_srtnotificatie_code = 'INSUPD')
|
||||
AND t.fac_tracking_oms LIKE 'Status %';
|
||||
AND t.fac_tracking_oms LIKE 'Status %'
|
||||
GROUP BY fac_tracking_refkey, t.fac_tracking_datum;
|
||||
|
||||
// Now lets clean the tracking
|
||||
DELETE FROM fac_tracking t
|
||||
@@ -219,22 +220,6 @@ DELETE FROM fac_tracking t
|
||||
WHERE n.fac_srtnotificatie_code = 'INSUPD')
|
||||
AND t.fac_tracking_oms LIKE 'Status %';
|
||||
|
||||
// Verwijder het laatste record van evt tweedubbele waarden, anders faalt de unique index
|
||||
DELETE FROM ins_deel_state_history h
|
||||
WHERE h.ins_deel_key IN ( SELECT h3.ins_deel_key
|
||||
FROM ins_deel_state_history h3
|
||||
GROUP BY ins_deel_key, ins_deel_statedate
|
||||
HAVING COUNT ( * ) > 1)
|
||||
AND h.ins_deel_statedate IN ( SELECT h3.ins_deel_statedate
|
||||
FROM ins_deel_state_history h3
|
||||
GROUP BY ins_deel_key, ins_deel_statedate
|
||||
HAVING COUNT ( * ) > 1)
|
||||
AND h.ins_deel_state_history_key =
|
||||
(SELECT MAX (h2.ins_deel_state_history_key)
|
||||
FROM ins_deel_state_history h2
|
||||
WHERE h2.ins_deel_key = h.ins_deel_key
|
||||
AND h2.ins_deel_statedate = h.ins_deel_statedate);
|
||||
|
||||
CREATE UNIQUE INDEX ins_i_ins_deel_state_hist1 ON ins_deel_state_history(ins_deel_key, ins_deel_statedate);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user