Store Procedure - Repaso de SQL
From Ibbddunq
(Difference between revisions)
m |
|||
Line 31: | Line 31: | ||
return (cantidadDeStockProducto1 >= cantidadDeStockProducto2 ); | return (cantidadDeStockProducto1 >= cantidadDeStockProducto2 ); | ||
- | |||
END | END | ||
- | FUNCTION `insertarValidandoCompra` (nombreDeProducto varchar(45), nombreDeCliente varchar(45),cantidad integer) | + | FUNCTION `insertarValidandoCompra` (nombreDeProducto varchar(45), nombreDeCliente varchar(45),cantidad integer) |
returns integer | returns integer | ||
BEGIN | BEGIN |
Revision as of 20:42, 23 October 2009
- Los parametros pueden ser IN,OUT,INOUT
- Los SP se llaman
- CALL AreaDeCirculo(22, @a);
- CALL AreaDeCirculo("Jabon", 50);
CREATE PROCEDURE `AreaDeCirculo` (IN nombreDeProducto varchar(45), IN stock varchar(45)) BEGIN insert into producto(nomProd,stock,fecha) values (nombreDeProducto, sctock, now()); END
CREATE PROCEDURE AreaDeCirculo( IN r double, OUT a double) BEGIN SET a = r * r * pi(); END
- Los Parametros son siempre IN
- Select tieneMasStockQue("Jabon Ala","Jabon Skip");
FUNCTION `tieneMasStockQue` (nombreProducto varchar(45), nombreProducto2 varchar(45)) returns bool BEGIN declare cantidadDeStockProducto1 integer; declare cantidadDeStockProducto2 integer; select stock from producto where nomProd = nombreProducto into cantidadDeStockProducto1 ; select stock from producto where nomProd = nombreProducto2 into cantidadDeStockProducto2 ; return (cantidadDeStockProducto1 >= cantidadDeStockProducto2 ); END
FUNCTION `insertarValidandoCompra` (nombreDeProducto varchar(45), nombreDeCliente varchar(45),cantidad integer) returns integer BEGIN declare cantidadDeStockProducto integer; select stock from producto where nomProd = nombreProducto into cantidadDeStockProducto; if (stock >= cantidad) then insert into producto(nomProd,nomCliente,fecha,cant) values (nombreDeProducto, nomCliente, now(),stock -cantidad); return stock -cantidad; else insert into producto(nomProd,nomCliente,fecha,cant) values (nombreDeProducto, nomCliente, now(),0); return stock; end if; END