A method for out-of-order, OOO, multiple query execution by a database processing system, the method comprising: during compilation of a procedure, detecting dependencies between a plurality of statements that are database query language statements; wherein detecting the dependencies between the statements includes: determining a cost of executing each statement of the statements; and upon determining that the cost for the statement exceeds a predefined threshold, performing a dependency analysis for the statement; wherein performing the dependency analysis for the statement includes: adding each read object of the statement to a read set; adding each write object of the statement to a write set; and inserting the read set and the write set of the statement to a corresponding entry in the dependency table; maintaining the dependencies of the statements in a dependency table; during execution of the procedure, detecting a change in a dependency between the statements; upon detection of the change in the dependency, updating the dependency in the dependency table; and scheduling the statements for OOO execution according to the dependency table. during compilation of a procedure, detecting dependencies between a plurality of statements that are database query language statements; wherein detecting the dependencies between the statements includes: determining a cost of executing each statement of the statements; and upon determining that the cost for the statement exceeds a predefined threshold, performing a dependency analysis for the statement; wherein performing the dependency analysis for the statement includes: adding each read object of the statement to a read set; adding each write object of the statement to a write set; and inserting the read set and the write set of the statement to a corresponding entry in the dependency table; maintaining the dependencies of the statements in a dependency table; detecting dependencies between a plurality of statements that are database query language statements; wherein detecting the dependencies between the statements includes: determining a cost of executing each statement of the statements; and upon determining that the cost for the statement exceeds a predefined threshold, performing a dependency analysis for the statement; wherein performing the dependency analysis for the statement includes: adding each read object of the statement to a read set; adding each write object of the statement to a write set; and inserting the read set and the write set of the statement to a corresponding entry in the dependency table; maintaining the dependencies of the statements in a dependency table; determining a cost of executing each statement of the statements; and upon determining that the cost for the statement exceeds a predefined threshold, performing a dependency analysis for the statement; wherein performing the dependency analysis for the statement includes: adding each read object of the statement to a read set; adding each write object of the statement to a write set; and inserting the read set and the write set of the statement to a corresponding entry in the dependency table; adding each read object of the statement to a read set; adding each write object of the statement to a write set; and inserting the read set and the write set of the statement to a corresponding entry in the dependency table; maintaining the dependencies of the statements in a dependency table; during execution of the procedure, detecting a change in a dependency between the statements; upon detection of the change in the dependency, updating the dependency in the dependency table; and scheduling the statements for OOO execution according to the dependency table. detecting a change in a dependency between the statements; upon detection of the change in the dependency, updating the dependency in the dependency table; and scheduling the statements for OOO execution according to the dependency table.