Do you execute all updates as one call to sqlite_exec? Or as separate
calls to sqlite_exec or sqlite_prepare/sqlite_step? If separate then
do you check return value from the calls? And do you execute
BEGIN/COMMIT somewhere?

Pavel

On Sun, Dec 23, 2012 at 2:37 PM, Alem Biscan <biscana...@gmail.com> wrote:
> Hello,
>
> I am wandering if i have a block of dml statements in a trigger ( instead
> of ). Is it a single transaction? If something fails everything fails or?
>
> SELECT
> CASE
> WHEN
> NOT EXISTS ( SELECT klas_sifra FROM klasifikacija kl , tipklas tk WHERE kl
> . tkla_id = tk . tkla_id AND kl . klas_sifra = new . grupa_klas_sifra AND
> tk . tkla_naziv = 'GRUPA' )
> THEN
> RAISE ( ROLLBACK , ' * Ne postoji grupa pod šifrom ' )
> WHEN
> NOT EXISTS ( SELECT klas_sifra FROM klasifikacija kl , tipklas tk WHERE kl
> . tkla_id = tk . tkla_id AND kl . klas_sifra = new . grupa_klas_sifra AND
> tk . tkla_naziv = 'TIP ARTIKLA' )
> THEN
> RAISE ( ROLLBACK , ' * Ne postoji tip artikla pod šifrom ' )
> END;
>
> UPDATE katklas kkl
>    SET kkl.kkl_kat_sifra  = new.kat_sifra
>       ,kkl.kkl_klas_sifra = new.grupa_klas_sifra
>  WHERE kkl.kkl_kat_sifra  = old.kat_sifra
>    AND kkl.kkl_klas_sifra =  old.grupa_klas_sifra;
>
> UPDATE katklas kkl
> SET kkl.kkl_kat_sifra  = new.kat_sifra
>   ,kkl.kkl_klas_sifra = new.grupa_klas_sifra
> WHERE kkl.kkl_kat_sifra  = old.kat_sifra
> AND kkl.kkl_klas_sifra =  old.tip_klas_sifra;
>
> UPDATE katalog kat
>    SET kat.kat_sifra   = new.kat_sifra
>       ,kat.kat_barcode = new.kat_barcode
>       ,kat.kat_naziv   = new.kat_naziv
>       ,kat.kat_jmj     = new.kat_jmj
>       ,kat.kat_car     = new.kat_car
>       ,kat.kat_mpc     = new.kat_mpc
>       ,kat.kat_porez   = new.kat_porez
> WHERE kat.kat_sifra = old.kat_sifra;
>
> If first update fails, is it considered a failiure for the whole thing?
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to