60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Prolog
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Prolog
		
	
	
	
	
	
:- 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 ).
 | 
						|
 |