[QGIS-it-user] Spatialite - Suggerimenti per Trigger

Salve, non riesco a risolvere questo problema.
Ho creato un DB e sto cercando di impostare un trigger su una tabella
nominata "ATTO_AMMINISTRATIVO", capace di NON PERMETTERE L'INSERT solo
qualora siano soddisfatte contemporaneamente le seguenti condizioni:
1) se nella colonna "tipo_atto" il valore è diverso da 1 o 2;
2)se la colonna "id_atto_impegno_di_spesa" è valorizzata (NOT NULL).
Ho scritto dopo mille peripezie il seguente trigger:

CREATE TRIGGER ControllaNumImpegno_Insert AFTER INSERT ON
ATTO_AMMINISTRATIVO

BEGIN

SELECT

CASE

WHEN NEW.tipo_atto NOT IN (1,2) *AND* NEW.id_atto_impegno_di_spesa NOT NULL

THEN

RAISE (ABORT, 'IL TIPO DI ATTO AMMINISTRATIVO SELEZIONATO NON GENERA UN
IMPEGNO DI SPESA')

END;

END;

Purtroppo fallisce miseramente in quanto, nonostante la clausola AND
nell'istruzione WHEN, questa non viene considerata ed il trigger controlla
solo la condizione 1) con la conseguenza che vieta qualsiasi INSERT per
"tipo_atto" NOT IN (1,2) anche qualora "id_atto_impegno_di_spesa " è NULLO.

E' COME SE LA CLAUSOLA *AND* NON FOSSE AMMESSA.
Ho fatto prove con la clausola OR e funziona (ma purtroppo non soddisfa la
condizione da me cercata).

Sono certo che sto sbagliando tutto ma prima di arrendermi mi farebbe
piacere conoscere la soluzione.
Spero di essermi spiegato e che ci sia qualcuno che possa illuminarmi.

Saluti

Aldo

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Ciao Aldo,
sei OT (Off Topic) qui di discute solo di QGIS.

Scrivi la stessa mail a GFOSS

saluti

···

Ing. Salvatore Fiandaca
mobile.:+39 327.493.8955
m: pigrecoinfinito@gmail.com
C.F.: FNDSVT71E29Z103G
P.IVA: 06597870820
membro QGIS Italia - http://qgis.it/
socio GFOSS.it - http://gfoss.it/
blog:**** https://pigrecoinfinito.wordpress.com/
FB: Co-admin - https://www.facebook.com/qgis.it/****
TW: ****https://twitter.com/totofiandaca

43°51’0.54"N 10°34’27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

Questo documento, allegati inclusi, contiene informazioni di proprietà di FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario in relazione alle finalità per le quali è stato ricevuto. E’ vietata qualsiasi forma di riproduzione o divulgazione senza l’esplicito consenso di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega di informare tempestivamente il mittente e distruggere la copia in proprio possesso.