[阅读: 412] 2007-07-12 09:21:42
FUNCTION DI_CUST_YEAR (v_cust_id IN VARCHAR2)
RETURN VARCHAR
IS
v_cnt NUMBER (4);
v_cust_year VARCHAR2 (10);
BEGIN
v_cust_year := '';
SELECT COUNT (*)
INTO v_cnt
FROM contract a, contract_ad b
WHERE a.contract_id = b.contract_id
AND TO_CHAR (a.sign_date, 'yyyy') = '2004'
AND a.sales_status <= '4'
AND b.cust_id = v_cust_id;
IF v_cnt > 0
THEN
v_cust_year := v_cust_year || '4';
END IF;
SELECT COUNT (*)
INTO v_cnt
FROM contract a, contract_ad b
WHERE a.contract_id = b.contract_id
AND TO_CHAR (a.sign_date, 'yyyy') = '2005'
AND a.sales_status <= '4'
AND b.cust_id = v_cust_id;
IF v_cnt > 0
THEN
v_cust_year := v_cust_year || '5';
END IF;
SELECT COUNT (*)
INTO v_cnt
FROM contract a, contract_ad b
WHERE a.contract_id = b.contract_id
AND TO_CHAR (a.sign_date, 'yyyy') = '2006'
AND a.sales_status <= '4'
AND b.cust_id = v_cust_id;
IF v_cnt > 0
THEN
v_cust_year := v_cust_year || '6';
END IF;
RETURN v_cust_year;
END;