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