Entradas

Mostrando entradas de septiembre, 2009

Manejo de errores en SQL SERVER

SQL Server 2005 o superior incorpora el manejo de excepciones mediante un try y un catch en su lenguaje T-SQL. La sintaxis es la siguiente: BEGIN TRY /*El código de lo que piensas ejecutar*/ END TRY BEGIN CATCH /*El mensaje de error en caso de que falle el try*/ END CATCH Es muy simple, para los que ya programaron en otros lenguajes, no necesitan más explicaciones. Para los que nunca usaron un try, catch, la idea es la siguiente: TRY permite tratar de ejecutar el código que programamos. CATCH permite manejar y mandar mensajes de error generados durante el try. Ejemplo de manejo de errores usando TRY, CATCH EN T-SQL Vamos a hacer que este procedimiento almacenado de factorial devuelva el siguiente mensaje si existe un overflow (que el número exceda los rangos permitidos): create procedure factorial @fact bigint as BEGIN TRY declare @res bigint set @res =1; while(@fact

Programación de T-SQL de procedimientos almacenados

Varias personas solo saben hacer consultas simples en sql server, sin embargo se puede programar bastantes cosas en SQL Server. Este artículo muestra un ejemplo de un procedimiento almacenado que muestra el factorial de un número. Primero creamos el procedimiento almacenado, luego la llamamos. Este es un buen ejemplo porque podemos apreciar las sentencias if, los ciclos while en sql server. Este código funciona en cualquier sql server. Para más información y ejemplos sobre creación de procedimientos almacenados en sql server: http://msdn.microsoft.com/es-es/library/ms187926(SQL.90).aspx Para más información y ejemplos sobre el uso del if en sql server: http://msdn.microsoft.com/es-es/library/ms182717(SQL.90).aspx Para más información y ejemplos sobre el uso del while en sql server: http://msdn.microsoft.com/es-es/library/ms178642(SQL.90).aspx /* Cortesía de Ariel Romero Si existe el procedimiento, borrarlo*/ IF OBJECT_ID ( '

Cómo determinar la versión, el service pack, edición de sql server

Cómo determinar la versión, el service pack, edición de sql server Muchas veces queremos saber que service pack está instalado en sql server, otras veces queremos saber rápidamente si es sql server edición estándar, developer o Enterprise. Este artículo contiene una función que muestra automáticamente estos datos. Otras veces queremos saber si es sql server 2000, 2005 o superior. El siguiente link indica como determinar la versión: http://support.microsoft.com/kb/321185/es Ahora, para hacer las consultas velozmente me hice una función que muestra estos datos automáticamente. El código es el siguiente: CREATE FUNCTION version() RETURNS TABLE AS RETURN ( SELECT SERVERPROPERTY('productversion') as Numero, SERVERPROPERTY ('productlevel') as [service pack], SERVERPROPERTY ('edicion') as edition, @@version as version ); Hemos creado la función que retorna, la versión del producto, el service pack, la edicion y la version comercial. Ahora si quiero ver los datos de m