MYSQL函数无法运行,找不出错误.

konma 2009-03-30 09:02:00
各位大哥,小弟用MYSQL编写了条函数,不过出现错误,实在无法找到错误在哪,请帮忙检查下.谢谢各位了.谢谢.
DELIMITER $$

DROP FUNCTION IF EXISTS `na_mis`.`Final_customer_category_New_2(Nationality,Industry_type,customer_sub_category,occupation_type,UW_Business_Type,UW_Career_Type,UW_Occupation_Type)` $$
CREATE DEFINER=`NA_MIS`@`172.21.16.101` FUNCTION `Final_customer_category_NEW_2`(Nationality varchar(10),first_BT varchar(10),first_CT varchar(10),first_OT varchar(10),second_BT varchar(10),second_CT varchar(10),second_OT varchar(10)) RETURNS varchar(50) CHARSET utf8
begin DECLARE BT VARCHAR(10);DECLARE CT varchar(10);DECLARE OT varchar(10);DECLARE UW_Business_Type VARCHAR(10);DECLARE UW_Career_Type varchar(10);DECLARE UW_Occupation_Type varchar(10);DECLARE CustomerCategory varchar(10);set BT =first_BT;set CT =first_CT;set OT
=first_OT;set UW_Business_Type =second_BT;set UW_Career_Type =second_CT;set UW_Occupation_Type =second_OT;
if length(second_BT)>'0' then set bt =second_BT; else set bt =first_BT;
if length(second_CT)>'0' then set ct =second_CT; else set ct =first_CT;
if length(second_OT)>'0' then set ot =second_OT; else set ot =first_OT;
if trim(OT) in ('001','002','003','004','005','006','007','008','009','010','011','016','017','019','020','021','022','023',
'024','025','026','027','028','029','030','031','032','033','034','035','036','037','038','039','040')
then SET CustomerCategory = 'Y';
else if (trim(BT) = 'S01' and trim(CT) = '610')
or (trim(BT) = 'O04'
and trim(CT) in ('101','102','103','104','105','201','202','203','204','205','301','302','303','304','305'))
then SET CustomerCategory = 'X';
else if (trim(BT) in ('P00','P02','M00','M02','L00')
and trim(CT) in ('101','102','103','104','105','201','202','203','204','205'))
or (trim(BT) in ('J01','J02','J03','Q01')
and trim(CT) in ('101','102','103','104','105','201','202','203','204','205','301','302','303','304','305'))
or (trim(BT) in ('G01','N01', 'O02')
and trim(CT) in ('101','102','103','104','105'))
or (trim(BT) in ('D01','D02')
and trim(CT) in ('101','102','103','104','105','201','202','203','204','205')) then SET CustomerCategory = 'A';
else if (trim(BT) = 'O01'
and trim(CT) in ('101','102','103','104','105','201','202','203','204','205'))
or (trim(BT) in ('C01','C02','C03','C04','C05','C06','C07','C08','C09','C10','E01','E02','F01','F02','G02','G03',
'H01','H02','H03','K01','K02','K03','K04')
and trim(CT) in ('101','102','103','104','105'))
then SET CustomerCategory = 'B';
else if (trim(BT) in ('C01','C02','C03','C04','C05','C06','C07','C08','C09','C10','E01','E02','F01','F02','G01','G02','G03',
'H01','H02','H03','K01','K02','K03','K04')
and trim(CT) in ('201','202','203','204','205'))
then SET CustomerCategory = 'C';
else if trim(OT) in ('043','041')
then SET CustomerCategory = 'E';
else if (trim(BT) in ('J01','J02','J03','Q01')
and trim(CT) in ('101','102','103','104','105','201','202','203','204','205','301','302','303','304','305')
and trim(Nationality) <>'C')
or (trim(BT) in ('G01','N01','H03')
and trim(CT) in ('101','102','103','104','105')
and trim(Nationality) <> 'C')
or (trim(BT) in ('P00','P02','M00','M02','L00','O01')
and trim(CT) in ('101','102','103','104','105','201','202','203','204','205')
and trim(Nationality) <> 'C')
or (trim(BT) in ('C01','C02','C03','C04','C05','C06','C07','C08','C09','C10','D01','D02','E01','E02','F01','F02','G02','G03',
'H01','H02','H03','K01','K02','K03','K04')
and trim(CT) in ('101','102','103','104','105')
and trim(Nationality) <> 'C')
then SET CustomerCategory = 'F';
else SET CustomerCategory = 'D';END IF;END IF;END IF;END IF;END IF;END IF;END IF;
return CustomerCategory;
end $$

DELIMITER ;
...全文
118 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Teng_s2000 2009-03-30
  • 打赏
  • 举报
回复
错地方了啊
ws_hgo 2009-03-30
  • 打赏
  • 举报
回复
晕了
  • 打赏
  • 举报
回复
放到mysql版
dawugui 2009-03-30
  • 打赏
  • 举报
回复
这里是mssql,不是mysql
jinjazz 2009-03-30
  • 打赏
  • 举报
回复
不会

56,940

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧