最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL函数创造

来源:懂视网 责编:小采 时间:2020-11-09 13:30:52
文档

MySQL函数创造

MySQL函数创造:MySQL函数创建 DELIMITER $$CREATE FUNCTION funGetSKUContractorId(param_sku_number VARCHAR(32)) RETURNS INT(11)BEGINDECLARE contraactor_id_temp,parent_id_temp, i INT;SET i=0;SELECT M
推荐度:
导读MySQL函数创造:MySQL函数创建 DELIMITER $$CREATE FUNCTION funGetSKUContractorId(param_sku_number VARCHAR(32)) RETURNS INT(11)BEGINDECLARE contraactor_id_temp,parent_id_temp, i INT;SET i=0;SELECT M

MySQL函数创建 ? DELIMITER $$CREATE FUNCTION funGetSKUContractorId(param_sku_number VARCHAR(32)) RETURNS INT(11)BEGINDECLARE contraactor_id_temp,parent_id_temp, i INT;SET i=0;SELECT MAX(contractor_id) , MAX(parent_id) INTO contraactor_id_tem

MySQL函数创建

?

DELIMITER $$

CREATE FUNCTION funGetSKUContractorId(param_sku_number VARCHAR(32)) RETURNS INT(11)
BEGIN
DECLARE contraactor_id_temp,parent_id_temp, i INT;
SET i=0;
SELECT MAX(contractor_id) , MAX(parent_id) INTO contraactor_id_temp, parent_id_temp FROM 
erp$pro$product_sku ps 
JOIN erp$pro$product p ON ps.product_id = p.product_id
JOIN erp$pro$product_category pc ON p.product_id = pc.product_id
JOIN erp$pro$category c ON pc.category_id = c.category_id
WHERE ps.sku_number = param_sku_number ;

/*
* 因为现在分类最多只有四级,所以最多循环4次
*/
WHILE (i<4 AND contraactor_id_temp IS NULL ) DO
	
 SELECT contractor_id,parent_id INTO contraactor_id_temp, parent_id_temp FROM erp$pro$category WHERE category_id = parent_id_temp;
	IF(contraactor_id_temp IS NOT NULL) THEN
	SET i = 5; /**结束*/
	ELSE
	SET i=i+1;
	END IF;
 END WHILE;
RETURN IFNULL(contraactor_id_temp,0);
END$$

DELIMITER ;

?

?

?

示例2

?

DELIMITER $$

/**
* 根据定单号获取发货截止日期的函数
*/
CREATE FUNCTION funGetOrderDeliverDeadline(order_id INT) 

RETURNS VARCHAR(32)

BEGIN

RETURN (SELECT MAX(DATE_ADD(so.create_time ,INTERVAL (SELECT IFNULL(MAX(produce_period),0) FROM erp$sal$order_sku os1
JOIN erp$pro$product_sku ps1 ON os1.product_sku_id = ps1.product_sku_id
JOIN erp$sal$order_shipment osp1 ON os1.order_shipment_id = osp1.order_shipment_id
WHERE osp1.sales_order_id = order_id) DAY)) 'deadline_deliver_time'
FROM erp$sal$sales_order so WHERE so.sales_order_id = order_id);
END$$

DELIMITER ;

?

文档

MySQL函数创造

MySQL函数创造:MySQL函数创建 DELIMITER $$CREATE FUNCTION funGetSKUContractorId(param_sku_number VARCHAR(32)) RETURNS INT(11)BEGINDECLARE contraactor_id_temp,parent_id_temp, i INT;SET i=0;SELECT M
推荐度:
标签: 创建 创造 函数
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top