Академический Документы
Профессиональный Документы
Культура Документы
PROCEDIMIENTOS
ALMACENADOS
de
Presionamos F5 y el procedimiento
almacenado estar creado, podemos
verificarlo desplegando la carpeta Stored
Procedures ubicada en la carpeta
Programmability de nuestra base de
datos Ventas.
PARMETROS
En muchas ocasiones un procedimiento almacenado requiere datos
para cumplir su objetivo, estos datos reciben el nombre de
parmetros. Los parmetros se especifican luego de indicar el
nombre del procedimiento almacenado, veamos algunos ejemplos:
Procedimiento almacenado de insercin de
datos
Vamos a crear un procedimiento almacenado que permite insertar
datos en tblProducto, para ello utilizaremos INSERT INTO el cual
permite insertar datos en una tabla, abrimos una nueva ventana
de consulta y escribimos las siguientes lneas de cdigo:
CREATE PROCEDURE usp_Insertar_Producto
@codigo VARCHAR(10),@nombre VARCHAR(100),@precio
SMALLMONEY,@stock TINYINT,
@descripcion VARCHAR(250),@categoria TINYINT
AS
INSERT INTO tblProducto (codigo, nombre, precio, stock, descripcion,
categoria)
Ejecutamos
el cdigo
anterior
y ya tenemos
creado
el procedimiento
almacenado
VALUES
(@codigo,
@nombre,
@precio,
@stock,
@descripcion,
@categoria )
para insertar en tblProducto. Debemos comprender que luego de escribir INSERT
INTO se especifica el nombre de la tabla y luego entre parntesis se debe indicar
los campos en donde queremos insertar. A travs de VALUES especificamos los
valores que vamos a insertar a cada campo indicado luego del nombre de la tabla.
Recordemos que se debe respetar el orden entre los campos y los parmetros
que se especifican en INSERT INTO, observemos la siguiente imagen que
pertenece al cdigo del procedimiento almacenado creado anteriormente:
Procedimiento 2
Es un procedimiento que recibe dos parmetros de entrada,
correspondientes a un rango de cdigos de clientes, y devuelve el
conjunto de filas de la tabla CLIENTES cuyo cdigo se encuentra en el
rango determinado por los parmetros
CREATE PROCEDURE prod_2
@p_CodIniCHAR (6),
@p_CodFinCHAR (6)
AS
SELECT * FROM CLIENTE
WHERE IDCLIENTE BETWEEN @p_CodIni AND
@p_CodFin
Llamada
EXECUTE prod_2 000100, 000500
Procedimiento 3
Es un procedimiento que recibe un parmetro de entrada y uno de
salida. El parmetro de entrada corresponde a un cdigo de tipo de
producto y el de salida, el nmero de productos existentes, que
corresponden
a dicho tipo prod_3
CREATE PROCEDURE
@p_CodTipProd CHAR (3),
@p_NumProductos SMALLINT OUTPUT
AS
SELECT @p_NumProductos = COUNT(*)
FROM PRODUCTOS WHERE IDTIPROD =
@p_CodTipProd
Llamada
DECLARE @p_parmsal SMALLINT
EXECUTE prod_3 KBD, @p_parmsal
OUTPUT
Procedimiento 4
Es un procedimiento almacenado que realiza inserciones en una
tabla, con los valores devueltos por un subquery realizado sobre otra
tabla que tiene la misma estructura.
El valor devuelto por el procedimiento almacenado, es el nmero de
filas
insertadas.
CREATE
PROCEDURE
prod_4
AS
INSERT TIPSOPPRU
SELECT * FROM
TIPSOPORTE
RETURN @@ROWCOUNT
Llamada
DECLARE @p_retorno INTEGER
EXECUTE @p_retorno = prod_4