:- use_module( library(prosqlite) ). /** simple. == ?- simple. Using database at: simple.sqlite create_res(row(0)) i1(Insert into cited_by (pubmed_id,ret_date,citer) values (123, "2012/10/6", 321);) insert1_res(row(1)) i2(Insert into cited_by (pubmed_id,ret_date,citer) values (120, "2012/10/6", 321);) insert2_res(row(1)) sel(Select * from cited_by) sel:row(123,2012/10/6,321) sel:row(120,2012/10/6,321) d(Delete From cited_by Where pubmed_id = 120;) del_row(row(1)) sel:row(123,2012/10/6,321) true. ?- == */ :- multifile user:message_poperty/2. message_property(debug(sqlite), color([fg(yellow)])). simple :- write( deleting_file('simple.sqlite') ), nl, catch( delete_file('simple.sqlite'), _, true ), debug( sqlite ), sqlite_connect( simple, simple, exists(false) ), C = 'CREATE TABLE cited_by (pubmed_id bigint(20), ret_date date, citer bigint(20), Primary Key (pubmed_id,citer) );', sqlite_query( simple, C, Row ), write( create_res(Row) ), nl, I1 = 'Insert into cited_by (pubmed_id,ret_date,citer) values (123, "2012/10/6", 321);', write( i1(I1) ), nl, sqlite_query( simple, I1, RowI1 ), write( insert1_res(RowI1) ), nl, Date = date(2012,10,06), Pfx2 = 'Insert into cited_by (pubmed_id,ret_date,citer) values (120, ', sqlite_date_sql_atom( Date, SDate ), atomic_list_concat( [Pfx2,SDate,', 321);'], I2 ), write( i2(I2) ), nl, sqlite_query( simple, I2, RowI2 ), write( insert2_res(RowI2) ), nl, Sel = 'Select * from cited_by', write( sel(Sel) ), nl, findall( _, (sqlite_query(simple,Sel,FRow),write(sel:FRow),nl), _ ), D = 'Delete From cited_by Where pubmed_id = 120;', write( d(D) ), nl, sqlite_query( simple, D, DRow ), write( del_row(DRow) ), nl, findall( _, (sqlite_query(simple,Sel,FRow),write(sel:FRow),nl), _ ), sqlite_disconnect( simple ).