Files
Database/ALG/ALGSQL.H
Jos Groot Lipman c86caa2b51 MS_SQL ondersteunen we al 10 jaar niet meer
svn path=/Database/trunk/; revision=28915
2016-04-13 11:33:18 +00:00

53 lines
3.3 KiB
C

/* SET_DWGUPTODATE: set de dwg_uptodate-velden op SYSDATE van de records die
* nog niet een waarde hebben.
* TRICKY: er wordt ipv. '=' 'IN' gebruikt, omdat reference_key meestal
* een SELECT-statement is en IN gelijk is aan = voor een keiharde waarde.
*
* History:
*/
#define SET_VERWIJDER_CHILDREN_DEEL(child_table, parent_key, parent_verwijder, \
dummy1, child_verwijder, child_key, dummy2) \
BEGIN \
IF :new.parent_verwijder IS NOT NULL OR \
(:new.parent_verwijder IS NULL AND :old.parent_verwijder IS NOT NULL) \
THEN \
UPDATE child_table \
SET child_verwijder = :new.parent_verwijder \
WHERE child_table.child_key = :new.parent_key \
AND ins_alg_ruimte_type NOT IN ('W','T'); \
END IF; \
END
#define SET_VERWIJDER_CHILDREN_DEELT(child_table, parent_key, parent_verwijder, \
dummy1, child_verwijder, child_key, dummy2) \
BEGIN \
IF :new.parent_verwijder IS NOT NULL OR \
(:new.parent_verwijder IS NULL AND :old.parent_verwijder IS NOT NULL) \
THEN \
UPDATE child_table \
SET child_verwijder = :new.parent_verwijder \
WHERE child_table.child_key = :new.parent_key \
AND ins_alg_ruimte_type = 'T';\
END IF; \
END
#define SET_VERWIJDER_CHILDREN_DEELWP(child_table, parent_key, parent_verwijder, \
dummy1, child_verwijder, child_key, dummy2) \
BEGIN \
IF :new.parent_verwijder IS NOT NULL \
_THEN \
UPDATE child_table \
SET child_verwijder = :new.parent_verwijder \
WHERE child_table.child_key = :new.parent_key \
AND child_table.ins_alg_ruimte_type = 'W' \
AND child_table.ins_deel_verwijder IS NULL; \
_ELSIF (:new.parent_verwijder IS NULL AND :old.parent_verwijder IS NOT NULL)\
_THEN \
UPDATE child_table \
SET child_verwijder = :new.parent_verwijder \
WHERE child_table.child_key = :new.parent_key \
AND ins_alg_ruimte_type = 'W'; \
_END_IF; \
END