2017-02-17 1 views
1

트리거를 통해 실행되는 함수에 아래 쿼리를 작성했습니다.왜 postgresql에서 명령문 쿼리를 실행하지 않습니까?

SELECT report_date INTO logdate FROM agent_statistics WHERE agentid =    
    NEW.caller_id_name AND report_date = DATE(NEW.start_stamp); 
SELECT COUNT(*) INTO outbound FROM cdr WHERE (caller_id_name = 
    NEW.caller_id_name AND direction = 'outbound' AND 
    DATE(NEW.start_stamp) = logdate); 
SELECT COUNT(*) INTO consult FROM cdr WHERE (caller_id_name = 
    NEW.caller_id_name AND direction = 'outbound' AND 
    DATE(NEW.start_stamp) = logdate AND billsec > '0'); 

여기서 logdate 값은 적절한 날짜를 제공합니다. 그러나 outbound 및 consult는 테이블의 모든 행을 제공합니다. 이전 날짜도 포함되지 않아야 함을 의미합니다. 현재 날짜 총 행만 필요합니다.

+0

관련없는 교체 있지만,'billsec'가 숫자 인 경우, 문자열과 비교하지 않는'0'' 문자열 값은 숫자 '0'이다. –

+0

선택 쿼리에서 따옴표없이 오류를 테스트합니다. 그래서, 나는 그것을 둔다. –

답변

0

당신이 DATE(NEW.start_stamp) = logdate); start_stamp = logdate);

관련 문제