1. A system for executing complex procedural queries across a plurality of databases, the system comprising: a query processor capable of partial execution of procedural queries; a set of database adaptors capable of optimizing and referring collections of queries to external databases; and a query cache component in communication with the query processor and the set of database adaptors, the query cache component capable of storing results of external database queries in a query cache and of noting when a query's results have not been stored.