解决方案 »

  1.   

    把语句放在MYSQL的行命令工具中去执行一下试试。
      

  2.   

    还是有点问题,如下:
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to use near '' at
    line 22
    语法哪里不对吗
      

  3.   

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to use near '' at
    line 22
      

  4.   

    -- drop FUNCTION  GETVLINKHEAD;
    DELIMITER $$  
    create  FUNCTION  GETVLINKHEAD(PFLAG VARCHAR(3),   IFLAG VARCHAR(3) )  RETURNS VARCHAR(400)
    BEGIN  
      DECLARE V_SQLHEAD VARCHAR(400) DEFAULT '';  
      DECLARE    PRFLAG    VARCHAR(3);
      DECLARE   UFLAG     VARCHAR(3);
      SET  UFLAG = UPPER(IFLAG);
      SET  PRFLAG = UPPER(PFLAG);
        IF (PRFLAG = 'ALL') and (UFLAG IN ('FJP', 'FJR', 'FJS') ) THEN
           SET  V_SQLHEAD= 'INSERT INTO CT_TP_SRZ_FJ(POLICYCODE, CASENUMBER, SCORES, CREATDATE, GRADE, OPERATWAY, INSURANCE, LINK) ';
          ELSEIF  (PRFLAG = 'ALL') and  ( UFLAG IN ('PLP', 'PLR', 'PLS'))  THEN
           SET V_SQLHEAD= 'INSERT INTO CT_TP_SRZ_PRMY(POLICYCODE, CASENUMBER, SCORES, CREATDATE, GRADE, OPERATWAY, INSURANCE, LINK) ';
          ELSEIF (PRFLAG = 'ALL') and  (UFLAG IN ('TKP', 'TKR', 'TKS')) THEN
           SET  V_SQLHEAD= 'INSERT  INTO CT_TP_SRZ_WY (POLICYCODE, CASENUMBER, SCORES, CREATDATE, GRADE, OPERATWAY, TYPE, WEIYUTYPE,LINK) ';
        elseIF (PRFLAG = 'ONE')  and  (UFLAG IN ('FJP', 'FJR', 'FJS'))  THEN
            SET  V_SQLHEAD= 'INSERT INTO TEMP_ONE_CT_TP_SRZ_FJ(POLICYCODE, CASENUMBER, SCORES, CREATDATE, GRADE, OPERATWAY, INSURANCE, LINK) ';
          ELSEIF (PRFLAG = 'ONE')  and (UFLAG IN ('PLP', 'PLR', 'PLS'))  THEN
            SET  V_SQLHEAD= 'INSERT INTO TEMP_ONE_CT_TP_SRZ_PRMY(POLICYCODE, CASENUMBER, SCORES, CREATDATE, GRADE, OPERATWAY, INSURANCE, LINK) ';
          ELSEIF (PRFLAG = 'ONE')  and (UFLAG IN ('TKP', 'TKR', 'TKS')) THEN
           SET   V_SQLHEAD= 'INSERT INTO TEMP_ONE_CT_TP_SRZ_WY (POLICYCODE, CASENUMBER, SCORES, CREATDATE, GRADE, OPERATWAY, TYPE, WEIYUTYPE,LINK) ';
    END IF;
    RETURN  (V_SQLHEAD);  
    END 
    $$  
    总算搞定了,原来判断ELSEIF要连起来写,连起来写执行就通过了,单关键字在工具是灰色的。应该是工具不好使吧。