¿Cuáles son todas las primeras palabras posibles de las declaraciones de SQL?

Estoy construyendo una interfaz de usuario para poder ejecutar sentencias de SQL en una database de SQL Server, compatibilidad en SQL Server 2008 R2. Necesito poder determinar si cada statement podría devolver un set de datos, o si solo se debe ejecutar. En Delphi, TADOQuery consiste en Open / Close para un set de datos o ejecutar ExecSQL . Necesito determinar automáticamente cuál utilizar en function de la (s) primera (s) palabra (s) de la statement SQL.

¿Cómo puedo determinar a qué método debo llamar en function de la (s) primera (s) palabra (s) en el enunciado? Necesitaría saber cada palabra posible y qué método se basa en cada palabra.

Eso no es posible en el sentido general. EXEC stonetworking-procedure-name, por ejemplo, puede devolver un set de resultados o no, dependiendo de cómo se escribe el process. No hay forma de saber si es uno o el otro solo a partir de la syntax de la llamada.