Sei sulla pagina 1di 12

SQL SERVER 2008

Ing. Carlos Caraballo


DISEÑO E IMPLEMETNACION DE BASES DE DATOS
STORED PROCEDURES
STORED PROCEDURES
 Un procedimiento almacenado, es una
función o sub-programa almacenado

Ing. Carlos Caraballo


dentro de la base de datos.
 Su contenido no es mas que un grupo de
instrucciones y especificaciones en
Transact-SQL.
 Por lo regular el T-SQL cuando se utiliza
dentro de un SP se el llama “Stored
Procedure Lenguage” o “SPL”.
STORED PROCEDURES
 ESTRUCTURA
 La estructura de un SP es muy parecida a la de

Ing. Carlos Caraballo


una función de cualquier lenguaje de
programación.
 Consta de un nombre
 Puede o no recibir parámetros
 Puede retornar algún dato.

CREATE PROCEDURE nombre_proc( )


AS
BEGIN
..Sentencias T-SQL
END
STORED PROCEDURES
 CREAR
 Para crear un SP es necesario aplicar al cuerpo del

Ing. Carlos Caraballo


SP la sentencia CREATE.

CREATE PROCEDURE nombre_proc( )


AS
BEGIN
..Sentencias T-SQL
END
STORED PROCEDURES
 BORRAR
 DROP PROCEDUDRE permite borrar un

Ing. Carlos Caraballo


procedimiento almacenado de la base de datos.

DROP PROC nombre_proc


STORED PROCEDURES
 ALTERAR
 ALTER PROCEDURE permite aplicar

Ing. Carlos Caraballo


modificaciones a un procedimiento ya creado
dentro de la base de datos.
 Esta instrucción equivale a aplicar un DROP y
luego un CREATE del procedimiento.

ALTER PROCEDURE nombre_proc( )


AS
BEGIN
..Sentencias T-SQL
END
STORED PROCEDURES
 Ejemplo:
 El procedimiento “Prueba” hace un registro en

Ing. Carlos Caraballo


una tabla de historico.

CREATE PROCEDURE prueba


AS
BEGIN Instrucciones T-SQL
Declare @estado char(20)

Set @estado = ‘Normal’


INSERT INTO historico values( user, @estado)
END

Video\v13
Muestra las facilidades del MS para ver editar, crear y ejecutar los SPs.
STORED PROCEDURES
 EJECUCION
 La instrucción EXEC o EXECUTE permite

Ing. Carlos Caraballo


ejecutar un SP. Aun así un SP se puede ejecutar
con solo invocar su nombre.
Solo el nombre
prueba

Exec prueba Usando Exec

Un procedimiento que
Exec prueba valor1, valor2,valorN.. recibe parámetros
STORED PROCEDURES
 PARAMETROS
 Los parámetros son variables que se indican en la

Ing. Carlos Caraballo


línea de declaración del SP. Estas variables van a
recibir datos que serán utilizados de forma interna.

CREATE PROCEDURE prueba( @dato1 int, @dato2 varchar(20))


AS
BEGIN
Declare @estado char(20)

Set @estado = ‘Normal’


INSERT INTO historico values( user, @estado, @dato1)
END
Exec prueba 1, ‘ error ‘
STORED PROCEDURES
 PARAMETROS DE SALIDA
 Son parámetros que funcionan como valores de

Ing. Carlos Caraballo


retorno de información. Se declaran agregando la
palabra OUTPUT.
CREATE PROCEDURE prueba( @@dato1 int OUT, @dato2 varchar(20))
AS
BEGIN Usa dos @@

Set @@dato1 = 12
END

Declare @valor int


Exec prueba @valor out , ‘ error ‘ En la llamada debe
agregarse la palabra
Print @valor OUTPUT. Este ejemplo
debe imprimir el valor
12
STORED PROCEDURES
 SP QUE DEVUELVEN CONSULTAS
 Si al final de un SP se encuentra una sentencia

Ing. Carlos Caraballo


SELECT, el resultado de ese SP será lo el
resultado de esa sentencia SELECT.
CREATE PROCEDURE prueba( @@dato1 int OUT, @dato2 varchar(20))
AS
BEGIN

Set @@dato1 = 12
SELECT * FROM EMPLEADOS
END
STORED PROCEDURES
 EJECUCION DE SQL DINAMICO
 EXECUTE nos permite la ejecución de una

Ing. Carlos Caraballo


sentencia que se resuelve en tiempo de ejecución.

CREATE PROCEDURE prueba( @@dato1 int OUT, @dato2 varchar(20))


AS
BEGIN
Declare @sql Varchar(100)

SET @sql = ‘ SELECT * FROM EMPLEADOS ‘


EXEC ( @sql )
END

Potrebbero piacerti anche