这个mysql函数有什么问题 分隔符// 创建函数F_offshorePrice1(topsbwynum整数、hulsbwynum整数、sbwynum整数、adjprice浮点(11,2)), 价格浮动(11,2)、estprice浮动(11,2)、pricehulint浮动(11,2)、PricetoPoint浮动(11,2)、pricehulcons浮动(11,2), pricetop浮动(11,2)、priceint浮动(11,2)、pricetht浮动(11,2)) 返回浮动(20,2) 不确定 包含SQL SQL安全定义程序 开始 宣布最终价格VARCHAR(20); 声明errvarchar(20); 为SQLEXCEPTION集err=1声明CONTINUE处理程序; 如果(sbwynum>0和hulsbwynum>0和sbwynum!=hulsbwynum和(topsbwynum=sbwynum或topsbwynum0),则 设置最终价格=价格点; ELSEIF(价格>0)则 设置最终价格=价格-价格; ELSEIF(estprice>0)则 设置最终价格=estprice-pricehulcons; 如果结束; 如果结束; 如果(sbwynum>0和topsbwynum>0和sbwynum!=topsbwynum和(hulsbwynum=sbwynum或hulsbwynum0),则 设置最终价格=pricehulint; ELSEIF(价格>0)则 设置最终价格=价格-价格上限; ELSEIF(s.estprice>0)则 SET FinalPrice=estprice-pricetop; 如果结束; 如果结束; 如果(sbwynum>0和topsbwynum!=hulsbwynum和hulsbwynum!=sbwynum和topsbwynum!=sbwynum和topsbwynum>0和hulsbwynum>0),则 如果(pricint>0),则 设置最终价格=pricint; ELSEIF(价格>0)则 设置最终价格=价格-(价格上限+价格上限); ELSEIF(estprice>0)则 设置最终价格=estprice-(价格上限+价格上限); 如果结束; 如果结束; 如果(sbwynum>0和topsbwynum=hulsbwynum和sbwynum!=hulsbwynum和hulsbwynum>0),则 如果(pricint>0),则 设置最终价格=pricint; ELSEIF(价格>0)则 设置最终价格=价格-价格; ELSEIF(estprice>0)则 设置最终价格=estprice-pricetht; 如果结束; 如果结束; 如果(sbwynum>0),则 如果(最终价格>0),则 返回最终价格; ELSEIF(adjprice>0)则 退货价格; ELSEIF(价格>0)则 退货价格; ELSEIF(estprice>0)则 退货价格; 其他的 返回0; 如果结束; 其他的 返回0; 如果结束; 结束// 定界符;
错误:= 错误 您的SQL查询中似乎有错误。下面的MySQL服务器错误输出(如果有)也可以帮助您诊断问题 错误:未关闭的报价@16 STR:这个mysql函数有什么问题 分隔符// 创建函数F_offshorePrice1(topsbwynum整数、hulsbwynum整数、sbwynum整数、adjprice浮点(11,2)), 价格浮动(11,2)、estprice浮动(11,2)、pricehulint浮动(11,2)、PricetoPoint浮动(11,2)、pricehulcons浮动(11,2), pricetop浮动(11,2)、priceint浮动(11,2)、pricetht浮动(11,2)) 返回浮动(20,2) 不确定 包含SQL SQL安全定义程序 开始 宣布最终价格VARCHAR(20); 声明errvarchar(20); 为SQLEXCEPTION集err=1声明CONTINUE处理程序; 如果(sbwynum>0和hulsbwynum>0和sbwynum!=hulsbwynum和(topsbwynum=sbwynum或topsbwynum0),则 设置最终价格=价格点; ELSEIF(价格>0)则 设置最终价格=价格-价格; ELSEIF(estprice>0)则 设置最终价格=estprice-pricehulcons; 如果结束; 如果结束; 如果(sbwynum>0和topsbwynum>0和sbwynum!=topsbwynum和(hulsbwynum=sbwynum或hulsbwynum0),则 设置最终价格=pricehulint; ELSEIF(价格>0)则 设置最终价格=价格-价格上限; ELSEIF(s.estprice>0)则 SET FinalPrice=estprice-pricetop; 如果结束; 如果结束; 如果(sbwynum>0和topsbwynum!=hulsbwynum和hulsbwynum!=sbwynum和topsbwynum!=sbwynum和topsbwynum>0和hulsbwynum>0),则 如果(pricint>0),则 设置最终价格=pricint; ELSEIF(价格>0)则 设置最终价格=价格-(价格上限+价格上限); ELSEIF(estprice>0)则 设置最终价格=estprice-(价格上限+价格上限); 如果结束; 如果结束; 如果(sbwynum>0和topsbwynum=hulsbwynum和sbwynum!=hulsbwynum和hulsbwynum>0),则 如果(pricint>0),则 设置最终价格=pricint; ELSEIF(价格>0)则 设置最终价格=价格-价格; ELSEIF(estprice>0)则 设置最终价格=estprice-pricetht; 如果结束; 如果结束; 如果(sbwynum>0),则 如果(最终价格>0),则 返回最终价格; ELSEIF(adjprice>0)则 退货价格; ELSEIF(价格>0)则 退货价格; ELSEIF(estprice>0)则 退货价格; 其他的 返回0; 如果结束; 其他的 返回0; 如果结束; 结束// 定界符;,mysql,Mysql,错误:= 错误 您的SQL查询中似乎有错误。下面的MySQL服务器错误输出(如果有)也可以帮助您诊断问题 错误:未关闭的报价@16 STR:SQL:CREATE函数F_offshorePrice1(topbwynum整数、hulsbwynum整数、sbwynum整数、adjprice FLOAT(11,2), 价格浮动(11,2)、estprice浮动(11,2)、pricehulint浮动(11,2)、PricetoPoint浮动(11,2)、pricehulcons浮动(11,2), pri
SQL:CREATE函数
F_offshorePrice1(topbwynum整数、hulsbwynum整数、sbwynum整数、adjprice FLOAT(11,2),
价格浮动(11,2)、estprice浮动(11,2)、pricehulint浮动(11,2)、PricetoPoint浮动(11,2)、pricehulcons浮动(11,2),
pricetop浮动(11,2)、priceint浮动(11,2)、pricetht浮动(11,2))
返回浮动(20,2)
不确定
包含SQL
SQL安全定义程序
注释“此功能将用于离岸定价系统,参考邮件ID:=40516”
开始
宣布最终价格VARCHAR(20);
声明errvarchar(20)
为SQLEXCEPTION集err=1声明CONTINUE处理程序
如果(sbwynum>0和hulsbwynum>0和sbwynum!=hulsbwynum和(topsbwynum=sbwynum或topsbwynum<1或topsbwynum为空))则
如果(pricetopint>0),则
设置最终价格=价格点;
ELSEIF(价格>0)则
设置最终价格=价格-价格;
ELSEIF(estprice>0)则
设置最终价格=estprice-pricehulcons;
如果结束
如果结束
如果(sbwynum>0和topsbwynum>0和sbwynum!=topsbwynum和(hulsbwynum=sbwynum或hulsbwynum<1或hulsbwynum为空))则
如果(pricehulint>0),则
设置最终价格=pricehulint;
ELSEIF(价格>0)则
设置最终价格=价格-价格上限;
ELSEIF(s.estprice>0)则
SET FinalPrice=estprice-pricetop;
如果结束
如果结束
如果(sbwynum>0和topsbwynum!=hulsbwynum和hulsbwynum!=sbwynum和topsbwynum!=sbwynum和topsbwynum>0和hulsbwynum>0),则
如果(pricint>0),则
设置最终价格=pricint;
ELSEIF(价格>0)则
设置最终价格=价格-(价格上限+价格上限);
ELSEIF(estprice>0)则
设置最终价格=estprice-(价格上限+价格上限);
如果结束
如果结束
如果(sbwynum>0和topsbwynum=hulsbwynum和sbwynum!=hulsbwynum和hulsbwynum>0),则
如果(pricint>0),则
设置最终价格=pricint;
ELSEIF(价格>0)则
设置最终价格=价格-价格;
ELSEIF(estprice>0)则
设置最终价格=estprice-pricetht;
如果结束
如果结束
如果(sbwynum>0),则
如果(最终价格>0),则
返回最终价格;
ELSEIF(adjprice>0)则
退货价格;
ELSEIF(价格>0)则
退货价格;
ELSEIF(estprice>0)则
退货价格;
其他的
返回0;
如果结束;
其他的
返回0;
如果结束
结束//
定界符
SQL查询:
创建函数`F_offshorePrice1(topsbwynum整数、hulsbwynum整数、sbwynum整数、adjprice浮点(11,2)、price浮点(11,2)、estprice浮点(11,2)、pricehulint浮点(11,2)、pricehulcons浮点(11,2)、pricetop浮点(11,2)、priceint浮点(11,2)、pricetht浮点(11,2))返回浮点(20,2)不确定包含SQL安全定义器注释“此函数将用于离岸定价系统引用邮件ID:=40516”开始声明最终价格VARCHAR(20);声明errvarchar(20);为SQLEXCEPTION集err=1声明CONTINUE处理程序;如果(sbwynum>0和hulsbwynum>0和sbwynum!=hulsbwynum和(topsbwynum=sbwynum或topsbwynum<1或topsbwynum为空))则如果(pricetopint>0),则设置FinalPrice=pricetopint;ELSEIF(price>0),然后设置FinalPrice=price-pricehulcons;ELSEIF(estprice>0),然后设置FinalPrice=estprice-pricehulcons;如果结束;如果结束;如果(sbwynum>0和topsbwynum>0和sbwynum!=topsbwynum和(hulsbwynum=sbw
DELIMITER //
CREATE FUNCTION F_offshorePrice1(topsbwynum INTEGER, hulsbwynum INTEGER,sbwynum INTEGER, adjprice FLOAT(11,2),
price FLOAT(11,2), estprice FLOAT(11,2), pricehulint FLOAT(11,2), pricetopint FLOAT(11,2), pricehulcons FLOAT(11,2),
pricetop FLOAT(11,2),priceint FLOAT(11,2),pricetht FLOAT(11,2) )
RETURNS float(20,2)
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
BEGIN
DECLARE FinalPrice VARCHAR(20);
DECLARE err VARCHAR(20);
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET err = 1;
IF(sbwynum > 0 AND hulsbwynum > 0 and sbwynum != hulsbwynum AND (topsbwynum = sbwynum OR topsbwynum < 1 or topsbwynum IS NULL)) THEN
IF (pricetopint > 0) THEN
SET FinalPrice = pricetopint;
ELSEIF(price > 0)THEN
SET FinalPrice = price - pricehulcons;
ELSEIF(estprice > 0)THEN
SET FinalPrice = estprice - pricehulcons;
END IF;
END IF;
IF(sbwynum > 0 AND topsbwynum > 0 and sbwynum != topsbwynum AND (hulsbwynum = sbwynum OR hulsbwynum < 1 or hulsbwynum IS NULL)) THEN
IF(pricehulint > 0)THEN
SET FinalPrice = pricehulint;
ELSEIF(price > 0)THEN
SET FinalPrice = price - pricetop;
ELSEIF(s.estprice > 0)THEN
SET FinalPrice = estprice - pricetop;
END IF;
END IF;
IF(sbwynum > 0 AND topsbwynum != hulsbwynum AND hulsbwynum != sbwynum AND topsbwynum != sbwynum AND topsbwynum > 0 and hulsbwynum > 0 )THEN
IF(priceint > 0)THEN
SET FinalPrice = priceint;
ELSEIF(price > 0)THEN
SET FinalPrice = price - (pricetop + pricehulcons);
ELSEIF(estprice > 0)THEN
SET FinalPrice = estprice - (pricetop + pricehulcons);
END IF;
END IF;
IF(sbwynum > 0 AND topsbwynum = hulsbwynum AND sbwynum != hulsbwynum AND hulsbwynum > 0 )THEN
IF(priceint > 0)THEN
SET FinalPrice = priceint;
ELSEIF(price > 0)THEN
SET FinalPrice = price - pricetht;
ELSEIF(estprice > 0)THEN
SET FinalPrice = estprice - pricetht;
END IF;
END IF;
IF(sbwynum > 0)THEN
IF(FinalPrice > 0)THEN
RETURN FinalPrice;
ELSEIF(adjprice > 0)THEN
RETURN adjprice;
ELSEIF(price > 0)THEN
RETURN price;
ELSEIF(estprice > 0)THEN
RETURN estprice;
ELSE
RETURN 0;
END IF;
ELSE
RETURN 0;
END IF;
END //
DELIMITER ;
CREATE FUNCTION `F_offshorePrice1(topsbwynum INTEGER...
CREATE FUNCTION F_offshorePrice1(topsbwynum INTEGER...