1- CREATE OR REPLACE FUNCTION ts .deletesite(_siteid integer )
1+ CREATE OR REPLACE FUNCTION ts .deletesite(: _siteid integer )
22 RETURNS void
33 LANGUAGE sql
44AS $function$
@@ -7,11 +7,11 @@ AS $function$
77 SELECT gcc .chroncontrolid ,
88 gcc .geochronid
99 FROM ndb .sites AS sts
10- JOIN ndb .collectionunits AS cu ON sts .siteid = cu .siteid
11- JOIN ndb .chronologies AS chr ON cu .collectionunitid = chr .collectionunitid
12- JOIN ndb .chroncontrols AS cc ON chr .chronologyid = cc .chronologyid
13- JOIN ndb .geochroncontrols AS gcc ON cc .chroncontrolid = gcc .chroncontrolid
14- WHERE sts .siteid = _siteid
10+ LEFT JOIN ndb .collectionunits AS cu ON sts .siteid = cu .siteid
11+ LEFT JOIN ndb .chronologies AS chr ON cu .collectionunitid = chr .collectionunitid
12+ LEFT JOIN ndb .chroncontrols AS cc ON chr .chronologyid = cc .chronologyid
13+ LEFT JOIN ndb .geochroncontrols AS gcc ON cc .chroncontrolid = gcc .chroncontrolid
14+ WHERE sts .siteid = : _siteid
1515 )
1616
1717 DELETE FROM ndb .geochroncontrols AS gcc
@@ -20,35 +20,35 @@ AS $function$
2020 WITH chids AS (
2121 SELECT chr .chronologyid
2222 FROM ndb .sites AS sts
23- JOIN ndb .collectionunits AS cu ON sts .siteid = cu .siteid
24- JOIN ndb .chronologies AS chr ON cu .collectionunitid = chr .collectionunitid
25- WHERE sts .siteid = _siteid
23+ LEFT JOIN ndb .collectionunits AS cu ON sts .siteid = cu .siteid
24+ LEFT JOIN ndb .chronologies AS chr ON cu .collectionunitid = chr .collectionunitid
25+ WHERE sts .siteid = : _siteid
2626 )
2727
2828 DELETE FROM ndb .chronologies AS chr WHERE chr .chronologyid IN (SELECT chronologyid FROM chids);
2929
3030 WITH samps AS (
3131 SELECT smp .sampleid
3232 FROM ndb .sites AS sts
33- JOIN ndb .collectionunits AS cu ON sts .siteid = cu .siteid
34- JOIN ndb .analysisunits AS au ON cu .collectionunitid = au .collectionunitid
35- JOIN ndb .samples AS smp ON au .analysisunitid = smp .analysisunitid
36- WHERE sts .siteid = _siteid
33+ LEFT JOIN ndb .collectionunits AS cu ON sts .siteid = cu .siteid
34+ LEFT JOIN ndb .analysisunits AS au ON cu .collectionunitid = au .collectionunitid
35+ LEFT JOIN ndb .samples AS smp ON au .analysisunitid = smp .analysisunitid
36+ WHERE sts .siteid = : _siteid
3737 )
3838
3939 DELETE FROM ndb .samples AS smp WHERE smp .sampleid IN (SELECT sampleid FROM samps);
4040
4141 WITH aus AS (
4242 SELECT au .analysisunitid
4343 FROM ndb .sites AS sts
44- JOIN ndb .collectionunits AS cu ON sts .siteid = cu .siteid
45- JOIN ndb .analysisunits AS au ON cu .collectionunitid = au .collectionunitid
46- WHERE sts .siteid = _siteid
44+ LEFT JOIN ndb .collectionunits AS cu ON sts .siteid = cu .siteid
45+ LEFT JOIN ndb .analysisunits AS au ON cu .collectionunitid = au .collectionunitid
46+ WHERE sts .siteid = : _siteid
4747 )
4848
4949 DELETE FROM ndb .analysisunits AS au WHERE au .analysisunitid IN (SELECT analysisunitid FROM aus);
5050
5151 DELETE FROM ndb .sites AS sts
52- WHERE sts .siteid = _siteid
52+ WHERE sts .siteid = : _siteid;
5353
5454$function$
0 commit comments