INSERT INTO a_volontari
(idcontatto,idpersona,numero,dataiscrizione,tipo_volontario,sezione,datadomanda,pin,idapici)
SELECT @idcontatto
, import.idpersona
, import.numero_volontario
, import.data_ammissione
, 'Volontario'
, 'Sede'
, import.data_ammissione
, CAST((FLOOR(RAND() * (99999 - 10000 + 1)) + 10000) AS CHAR) AS pin
, import.id AS idapici
FROM **name_table** AS import
LEFT JOIN a_associati AS a ON (a.idcontatto=@idcontatto AND import.idpersona=a.idpersona)
WHERE import.idpersona IS NOT NULL AND a.id IS NULL
GROUP BY import.idpersona
;
UPDATE **name_table** AS import
INNER JOIN a_volontari AS vol ON (vol.idcontatto=@idcontatto AND import.idpersona=vol.idpersona AND import.id=vol.idapici)
SET import.idvolontario=vol.id
;
UPDATE a_volontari AS vol
SET vol.idapici=NULL
WHERE vol.idcontatto=@idcontatto AND vol.idapici IS NOT NULL
;
UPDATE **name_table** AS import
INNER JOIN a_volontari AS vol ON (vol.idcontatto=@idcontatto AND import.idpersona=vol.idpersona)
SET import.idvolontario=vol.id
, vol.numero=import.numero_volontario
, vol.dataiscrizione=import.data_ammissione
, vol.datadomanda=import.data_ammissione
, vol.datarecesso=NULL
, vol.causalerecesso=NULL
WHERE import.idpersona IS NOT NULL AND import.idvolontario IS NULL