Ir al contenido principal

Entradas

Mostrando entradas de enero, 2013

ExecuteNonQuery devuelve -1 si se indica SET NOCOUNT ON

Ejecutando un procedimiento almacenado que, a su vez llamaba a un método en un assembly instalado en el CLR de SQL Server, obtenía un error inesperado. El error me decía que una de las instrucciones SQL ejecutadas dentro del assembly estaba fallando. Sin embargo, si omitía el procesamiento del error, me daba cuenta de que la sentencia se había ejecutado correctamente.

Microsoft quiere punto y coma al final de cada sentencia T-SQL

Microsoft publica en la MSDN la " Lista de características desusadas del motor de base de datos de SQL Server 2012 " o, lo que es lo mismo, las deprecated features . Esta lista es útil para mantener nuestra aplicación actualizada , de tal forma que podamos seguir usando las nuevas funcionalidades de las sucesivas versiones SQL Server. Mantener en nuestro código alguna característica marcada como obsoleta o en desuso implicaría que no podríamos ejecutarlo en la versión de SQL que ya no la soportase. Pues bien, en dicha lista aparecen tanto las características que no serán soportadas en la próxima versión de SQL Server como las que estarán en desuso en futuras versiones. Esta segunda lista es muy amplia, pero si leemos detenidamente en ella nos encontraremos con, al menos, una característica que nos llamará la atención : "Not ending Transact-SQL statements with a semicolon." Es decir, Microsoft pretende que deje de ser opcional -como lo es hasta ahora- finaliz