Crear una instrucción SQL (ODBC)
Las aplicaciones ODBC realizan casi todos sus accesos a bases de datos ejecutando instrucciones Transact-SQL. El formato de estas instrucciones depende de los requisitos de aplicación. Pueden crearse instrucciones SQL de las siguientes formas:
Codificadas de forma rígida
Instrucciones estáticas ejecutadas por una aplicación como una tarea fija.
Creadas en tiempo de ejecución
Instrucciones SQL creadas en tiempo de ejecución que permiten al usuario personalizar la instrucción utilizando cláusulas comunes, como SELECT, WHERE y ORDER BY. Entre este tipo de instrucciones se incluyen las consultas ad hoc escritas por usuarios.
El controlador ODBC de SQL Server Client sólo analiza las instrucciones SQL para la sintaxis ODBC e ISO que no es directamente compatible con Motor de base de datos, que el controlador transforma en Transact-SQL. El resto de la sintaxis SQL se pasa a Motor de base de datos sin modificar, donde SQL Server determinará si se trata de código SQL Server válido. Este enfoque ofrece dos ventajas:
Reducción de la sobrecarga
El procesamiento de la sobrecarga del controlador se minimiza ya que sólo tiene que examinar un conjunto pequeño de las cláusulas ODBC e ISO.
Flexibilidad
Los programadores pueden personalizar la portabilidad de sus aplicaciones. Para mejorar la portabilidad en distintas bases de datos, utilice principalmente la sintaxis ODBC e ISO. Para utilizar mejoras específicas de SQL Server, use la sintaxis Transact-SQL adecuada. El controlador ODBC de SQL Server Native Client admite la sintaxis Transact-SQL completa, de modo que las aplicaciones basadas en ODBC pueden aprovechar todas las características de SQL Server.
La lista de columnas de una instrucción SELECT sólo debe incluir las columnas necesarias para realizar la tarea actual. Esto no sólo hace que se reduzca la cantidad de datos enviados a través de la red, sino que también reduce el efecto de los cambios de la base de datos en la aplicación. Si una aplicación no hace referencia a una columna de una tabla, cualquier cambio que se realice en dicha columna no afectará a la aplicación.