Anuncios

miércoles, 23 de septiembre de 2009

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 ('factorial','P') IS NOT NULL

DROP PROCEDURE factorial;

GO

CREATE PROCEDURE factorial

@num bigint

AS

IF(@num <= 1)

PRINT (1)

ELSE

BEGIN

DECLARE @res bigint

SET @res = @num;

SET @num = @num - 1;

WHILE(@num > 1)

BEGIN

SET @res = @res * @num;

SET @num = @num - 1;

END

PRINT (@res)

END

Para ejecutar el procedimiento almacenado vamos a ver el factorial de 3 que tendría que retornar 6:

execute factorial '3';

People who read this post also read :