mysql function

-- function

CREATE DEFINER=`taxms`@`10.%` FUNCTION `getPartVATchildren`(
  p_root VARCHAR (50),
  p_GJAHR VARCHAR (4),
  p_MONAT VARCHAR (2),
  p_SUBTYPE VARCHAR (60)
) RETURNS varchar(5000) CHARSET utf8
    READS SQL DATA
    DETERMINISTIC
BEGIN
  DECLARE returnstring VARCHAR (5000) DEFAULT '' ;
  DECLARE tmpstring VARCHAR (5000) ;
  SET tmpstring = p_root ;
  WHILE
    tmpstring IS NOT NULL DO SET returnstring = CONCAT(returnstring, ',', tmpstring) ;
    SELECT
      GROUP_CONCAT(b.TAX_PAY_SUB) INTO tmpstring
    FROM
      taxms.b_ztfi_tax_detail b
      JOIN taxms.b_ztfi_tax_control c
       ON (c.TAX_PAY_SUB = b.TAX_PAY_SUB AND NOW() BETWEEN c.BEGIN_TIME AND c.END_TIME)
    WHERE FIND_IN_SET(b.TAX_ENT_COL, tmpstring) > 0
      AND b.GJAHR = p_GJAHR
      AND b.MONTH = p_MONTH
      AND b.SUBTYPE = p_SUBTYPE
      AND c.VAT_SUM = '3' ;
  END WHILE ;
  RETURN returnstring ;
END

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326240500&siteId=291194637