Sv Community El Salvador
Soporte y Tecnología => Programación => Base de Datos => Topic started by: MOISES on November 27, 2008, 04:44:20 pm
-
Saludos compañeros, me podrían proporcionar un ejemplo de procedimiento almacendado en mysql, lo ue necesito es hacer un select a una tabla y después tomar el resultado.
muchas gracias.
-
un pequeño ejemplo
]
CREATE PROCEDURE `test`.`sp_comisiones` (IN mivendedor INT)
BEGIN
DECLARE micomision INT DEFAULT 0;
DECLARE suma INT;
DECLARE existe BOOL;
select IFNULL(sum(importe),0) into suma from ventas where producto = 1 and vendedor = mivendedor;
SET micomision = micomision + (suma * 0.15);
select count(1)>0 into existe from comisiones where vendedor = mivendedor;
if existe then
UPDATE comisiones set comision = comision+micomision where vendedor = mivendedor;
else
insert into comisiones (vendedor, comision) values (mivendedor, micomision);
end if;
END$$
recorda que mysql tiene soporte a procedimientos almacendos a partir de la version 5.0.15 creo, asi que si ocupas una version anterior te va a dar error
-
Dame mas detalles de lo que queres y te ayudo a hacerlo.! :thumbsup:
-
Gracias Acuario y JGuillen™ , una ayuda +, bueno varias +
DELIMITER $$
DROP PROCEDURE IF EXISTS `consultas`.`ventas_ano_mes`$$
CREATE PROCEDURE `consultas`.`ventas_ano_mes`(in vano dec, in vmes dec,in vplanta char(2) )
BEGIN
SELECT * FROM vtasdesde2005 WHERE ANO=vano AND MESANO=vmes and planta=vplanta;
END$$
DELIMITER ;
Este es SP que he creado y lo mando a llamar asi "CALL ventas_ano_mes(@2008,@1,@'05')"
si ejecuto el siguiente select "select * from vtasdesde2005 where ano=2008 and mesano=1 and planta='05'" si me aparece la información
que estoy haciendo mal??
Muchas gracias
-
mira.. con que estas programando?? ... mira despues q mandes hacer el Call al procedimiento almacenado mostra el mysql_error(); para ver si mysql te esta devolviendo algun error... :big_boss:
-
Gracias, lo estoy ejecutando desde vfp9
-
Hola, me podrias ayudar a hacer estos procedimiento en mysql, tengo que:
----
Modificado(mxgxw): Por favor. Se les recuerda que el foro no es para que les vengan a hacer las tareas. Si realmente necesitan ayuda pongan de su parte y coloquen lo que ya realizaron.