One thing that I really miss form another database is the ability to reuse
select statements.

I haven't programmed but I believe this is sort of possible using C, this is
a command language version maybe?

 

e.g.

 

 CREATE TABLE IF NOT EXISTS Transactions (ID Integer PRIMARY KEY
AutoIncrement, DataID Integer, DateTime Real, Comment Text COLLATE IUNICODE)

This has lots of entries (INSERTS, DELETES, UPDATES)

 

CREATE TABLE IF NOT EXISTS Data (ID Integer PRIMARY KEY AutoIncrement, Data1
Text, Data2 Integer, LastTransaction Real)

This doesn't have many entries (comparatively)

 

Select * FROM Transactions Where DateTime Between x and y Saving Unique
DataID to 1

 

GetList 1

 

Select * From Data Using 1

 

Select Data2 From Data Where Data2=Z Using 1

 

 

The "Saving Unique DataID to 1" saves a list of ID's that can be used like
part of an IN(1) on another table.

The unique qualifier restricts the list to only 1 unique ID where it is in
multiple rows.

 

If I remember correctly the lists where saved as UsernameList1,
UsernameList2 etc and cleared when disconnected logged out.

 

Not only could you reuse  process intensive ID lists, many complicated joins
etc can be eliminated.

 

Select * FROM Transactions Where DateTime Between x and y Saving Unique
DataID to 1 (500 rows)

 

Select * From Data Where Data2=Z Using 1 (150 rows) Saving ID to 2 (unique
not used as the ID is unique already)

 

Select * From AnotherTable Where Data7<>B Using 2 (25 rows returned)

 

If you need information from the other tables you can do the join statement
here with only 25 IDs.

 

I hope this makes sense

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to