Thanks for adding that detail.
The voltQueueExperimental() method is an experimental feature that is not supported.
The procedure was categorized as read-only at compile time because it does not contain any compile time constant SQLStmt objects that involve writes. At run-time, you are getting this error because a read-only procedure is not allowed to do any writes. Procedures that involve writes are handled differently (two phase commit, etc).
You could run this DELETE statement as an Ad Hoc query from the client interface.
Another option, if there are a small number of tables you want this procedure to handle would be to declare separate SQLStmt objects for each table. This would be fine as far as making the SQLStmt's compile-time constants:
final String sql1 = "DELETE FROM ";
final String sql2 = " WHERE col1 <= ?;";
final SQLStmt qry1 = new SQLStmt(sql1 + "EMPLOYEE" + sql2);
final SQLStmt qry2 = new SQLStmt(sql1 + "DEPT" + sql2);
I should also caution you about potentially deleting many records at once. I wrote a blog post that goes over that topic.