Procedimientos Almacenados

13,879 views
13,725 views

Published on

1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
13,879
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
394
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Procedimientos Almacenados

  1. 1. INSTITUTO TECNOLOGICO SUPERIOR DE LERDO RAFAEL A. QUINTANA HERRADA TEMA: PROCEDIMIENTOS ALMACENADOS MATERIA: TALLER DE BASES DE DATOS 21 de marzo de 2010
  2. 2. Procedimientos almacenados (Proc. 1) Mediante este proceso almacenado, veremos la tabla productos de nuestra base de datos ya creada en SQL, en este proceso almacenado arrojara parámetros de salida. La cual mostrara el precio_compra de la tabla anteriormente mencionada. CREATE PROCEDURE ObtenerPreciocompra @Nombre nchar (20), @precio_compra nchar (10) Output AS BEGIN SELECT @Nombre = NOMBRE FROM Productos WHERE PREC_COMPRA = @precio_compra END DECLARE @precio_compra nchar (10) EXEC ObtenerPreciocompra '200700000001', @saldo output PRINT @precio_compra Una vez finalizado el procedimiento almacenado nos arrojara el precio_compra de la tabla productos.
  3. 3. Procedimientos almacenados (Proc. 2) El siguiente ejemplo muestra un procedimiento almacenado que devuelve valores. Utilizando la instrucción return. En esta ocacion utilizaremos la tabla facturas de la base de datos negocio de SQL. CREATE PROCEDURE regresarfactura @fecha varchar (20) AS BEGIN IF (SELECT id_venta FROM FACTURAS WHERE fecha = @fecha) =’marzo’ BEGIN RETURN 1 END ELSE RETURN 0 END Posteriormente mente mostraremos el resultado de las anteriores codigos DECLARE @valor int EXEC @valor = regresarfactura 'tr01' PRINT @valor
  4. 4. Procedimientos almacenados (Proc. 3) Mediante este procedimiento almacenado insertaremos un registro en la tabla clientes, el nombre del procedimiento lo llamaremos agregarregistro. create procedure agregarregistro @id_prod nchar(10),@Nombre nchar(19),@precio_vta nchar(10),@precio_compra,@Descripcion nchar(10),@id_prov nchar(10),stock nchar(10),@foto nchar(10),@redes nchar(20) AS INSERT INTO CLIENTES (id_prod,Nombre,precio_vta,precio_compra,Descripcion,id_prov,stock,f oto,redes) values (@id_prod,@Nombre,@precio_vta,@precio_compra,@Descripcion,@id_prov,@ stock,@foto,@redes) El siguiente ejemplo muestra la ejecución del procedimiento almacenado anterior. EXEC agregacliente 'Rafael', 'Quintana', 'Herrada'
  5. 5. Procedimientos almacenados (Proc. 4) Mediante este proceso almacenado, veremos la tabla Garantías de nuestra base de datos ya creada en SQL, en este proceso almacenado arrojara parámetros de salida. La cual mostrara el Folio_garantia de la tabla anteriormente mencionada. CREATE PROCEDURE Obtenerfolio @folio_gar nchar (20), @Folio_fact nchar (10) Output AS BEGIN SELECT @Folio_gar = Folio_garantia FROM Garantias WHERE FOLIOFACT = @folio_fact END Una vez finalizado el procedimiento almacenado nos arrojara el precio_compra de la tabla productos. DECLARE @Folio_garantia nchar (10) EXEC Obtenerfolio 'g123', @folio_fact output PRINT @folio_fact
  6. 6. Procedimientos almacenados (Proc. 5) El siguiente ejemplo muestra un procedimiento almacenado que devuelve valores. Utilizando la instrucción return. En esta ocacion utilizaremos la tabla ventas de la base de datos negocio de SQL. CREATE PROCEDURE regresarventa @fecha varchar (20) AS BEGIN IF (SELECT id_venta FROM VENTAS WHERE total = @total) <=1000 RETURN 1 END ELSE RETURN 0 END En seguida se mostrara el resultado del anterior codigo DECLARE @datos int EXEC @datos = regresarventa 'tr01' PRINT @datos
  7. 7. Procedimientos almacenados (Proc. 6) Mediante este procedimiento almacenado insertaremos un registro en la tabla ventas, el nombre del procedimiento lo llamaremos agregarregistro. create procedure agregarregistro @id_venta nchar(10),@fecha nchar(19),@cantidad nchar(10),@id_prod,@id_cte nchar(10),@total AS INSERT INTO VENTAS (id_venta,fecha,cantidad,id_prod,id_cte,total) values (@id_venta,@fecha,@cantidad,@id_prod,@id_cte,@total) El siguiente ejemplo muestra la ejecución del procedimiento almacenado anterior. EXEC agregaregistro 'Beatriz', 'Gurrola', 'Garcia'

×