各位大哥,小弟用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 ;