@@ -51,72 +51,23 @@ AS $function$
5151 AND table_name = ' collectionunits'
5252 AND (SELECT val FROM goods) IS True;
5353
54- WITH collunit AS (
55- SELECT * FROM ndb .collectionunits WHERE collectionunitid = _collunitid
56- )
57-
5854 UPDATE ndb .collectionunits
5955 SET
60- handle = CASE WHEN
61- (_handle <> (SELECT handle FROM collunit) AND
62- (_handle <> (SELECT handle FROM collunit)) IS NULL ) THEN
63- handle ELSE _handle END,
64- colltypeid = CASE WHEN
65- (_colltypeid <> (SELECT colltypeid FROM collunit) AND
66- (_colltypeid <> (SELECT colltypeid FROM collunit)) IS NULL ) THEN
67- colltypeid ELSE _colltypeid END,
68- depenvtid = CASE WHEN
69- (_depenvtid <> (SELECT depenvtid FROM collunit) AND
70- (_depenvtid <> (SELECT depenvtid FROM collunit)) IS NULL ) THEN
71- depenvtid ELSE _depenvtid END,
72- collunitname = CASE WHEN
73- (_collunitname <> (SELECT collunitname FROM collunit) AND
74- (_collunitname <> (SELECT collunitname FROM collunit)) IS NULL ) THEN
75- collunitname ELSE _collunitname END,
76- colldate = CASE WHEN
77- (_colldate <> (SELECT colldate FROM collunit) AND
78- (_colldate <> (SELECT colldate FROM collunit)) IS NULL ) THEN
79- colldate ELSE _colldate END,
80- colldevice = CASE WHEN
81- (_colldevice <> (SELECT colldevice FROM collunit) AND
82- (_colldevice <> (SELECT colldevice FROM collunit)) IS NULL ) THEN
83- colldevice ELSE _colldevice END,
84- gpslatitude = CASE WHEN
85- (_gpslatitude <> (SELECT gpslatitude FROM collunit) AND
86- (_gpslatitude <> (SELECT gpslatitude FROM collunit)) IS NULL ) THEN
87- gpslatitude ELSE _gpslatitude END,
88- gpslongitude = CASE WHEN
89- (_gpslongitude <> (SELECT gpslongitude FROM collunit) AND
90- (_gpslongitude <> (SELECT gpslongitude FROM collunit)) IS NULL ) THEN
91- gpslongitude ELSE _gpslongitude END,
92- gpsaltitude = CASE WHEN
93- (_gpsaltitude <> (SELECT gpsaltitude FROM collunit) AND
94- (_gpsaltitude <> (SELECT gpsaltitude FROM collunit)) IS NULL ) THEN
95- gpsaltitude ELSE _gpsaltitude END,
96- waterdepth = CASE WHEN
97- (_waterdepth <> (SELECT waterdepth FROM collunit) AND
98- (_waterdepth <> (SELECT waterdepth FROM collunit)) IS NULL ) THEN
99- waterdepth ELSE _waterdepth END,
100- substrateid = CASE WHEN
101- (_substrateid <> (SELECT substrateid FROM collunit) AND
102- (_substrateid <> (SELECT substrateid FROM collunit)) IS NULL ) THEN
103- substrateid ELSE _substrateid END,
104- slopeaspect = CASE WHEN
105- (_slopeaspect <> (SELECT slopeaspect FROM collunit) AND
106- (_slopeaspect <> (SELECT slopeaspect FROM collunit)) IS NULL ) THEN
107- slopeaspect ELSE _slopeaspect END,
108- slopeangle = CASE WHEN
109- (_slopeangle <> (SELECT slopeangle FROM collunit) AND
110- (_slopeangle <> (SELECT slopeangle FROM collunit)) IS NULL ) THEN
111- slopeangle ELSE _slopeangle END,
112- location = CASE WHEN
113- (_location <> (SELECT location FROM collunit) AND
114- (_location <> (SELECT location FROM collunit)) IS NULL ) THEN
115- location ELSE _location END,
116- notes = CASE WHEN
117- (_notes <> (SELECT notes FROM collunit) AND
118- (_notes <> (SELECT notes FROM collunit)) IS NULL ) THEN
119- notes ELSE _notes END;
120-
56+ handle = COALESCE(_handle, handle),
57+ colltypeid = COALESCE(_colltypeid, colltypeid),
58+ depenvtid = COALESCE(_depenvtid, depenvtid),
59+ collunitname = COALESCE(_collunitname, collunitname),
60+ colldate = COALESCE(_colldate, colldate),
61+ colldevice = COALESCE(_colldevice, colldevice),
62+ gpslatitude = COALESCE(_gpslatitude, gpslatitude),
63+ gpslongitude = COALESCE(_gpslongitude, gpslongitude),
64+ gpsaltitude = COALESCE(_gpsaltitude, gpsaltitude),
65+ waterdepth = COALESCE(_waterdepth, waterdepth),
66+ substrateid = COALESCE(_substrateid, substrateid),
67+ slopeaspect = COALESCE(_slopeaspect, slopeaspect),
68+ slopeangle = COALESCE(_slopeangle, slopeangle),
69+ location = COALESCE(_location, location),
70+ notes = COALESCE(_notes, notes)
71+ WHERE collectionunitid = _collunitid;
12172
12273$function$
0 commit comments