Einfach gesagt: Was Datensätze zurückliefern "könnte" mit OPEN (egal, ob es "gerade" keine gibt)
und was niemals ein ResultSet liefert, das mit EXECUTE.
Oder, wie schon gesagt wurde, SELECT mit OPEN und Rest mit EXECUTE.
Aber wer es genauer wissen will, bezüglich dem
SQL-Sprachumfang.
Wann wird OPEN verwendet: (ansonsten EXECUTE)
Data Manipulation Language (DML) -> hier alle Abfragebefehle, sonst nicht
Data Definition Language (DDL) -> nie
Data Control Language (DCL) -> meistens nicht
Data
Query Language (DQL) -> immer
Transaction Control Language (TCL) -> nie
EXECUTE geht immer und OPEN wirft einen Fehler, wenn das
Query "niemals" ein ResultSet liefern würde.