Hello, Table deptab has a foreign key relationship with table reftab -
sqlite> .sch CREATE TABLE reftab(id integer primary key); CREATE TABLE deptab(id integer primary key, ref int references reftab); foreign key support is enabled - sqlite> pragma foreign_keys; foreign_keys 1 the referenced table is empty - sqlite> select * from reftab; sqlite> so the following insert fails and deptab remains empty as expected - sqlite> insert into deptab(ref) select 1; Error: FOREIGN KEY constraint failed sqlite> select * from deptab; sqlite> Now I define the following view and trigger - CREATE VIEW vtrig as select 1; CREATE TRIGGER ttrig instead of insert on vtrig begin delete from deptab; delete from reftab; insert into deptab(ref) select 2; select raise(FAIL, 'this statement seems to temporarily disable foreign support') where (select count(*) > 0 from deptab); end; sqlite> insert into vtrig select 5; Error: this statement seems to temporarily disable foreign support sqlite> select * from reftab; sqlite> select * from deptab; id ref 1 2 sqlite> pragma foreign_keys; foreign_keys 1 Can we conclude foreign key support is disabled within triggers with raise functions? _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users