MYSQL ERROR: PROCEDURE не может вернуть набор результатов в данном контексте - PullRequest
4 голосов
/ 23 июля 2010

Я новичок в Хранимой процедуре в mysql

Это процедура для возврата разницы дат без учета выходных, но она возвращает ошибку

#1312 - PROCEDURE blog1.DayCount can't return a result set in the given context

Этопроцедура

DROP PROCEDURE IF EXISTS daycount; 
CREATE PROCEDURE DayCount( d1 DATE, d2 DATE ) 
SELECT dd.iDiff, dd.iDiff - dd.iWeekEndDays AS iWorkDays, dd.iWeekEndDays 
FROM ( 
  SELECT 
    dd.iDiff, 
    ((dd.iWeeks * 2) +  
    IF(dd.iSatDiff >= 0 AND dd.iSatDiff < dd.iDays, 1, 0) +  
    IF (dd.iSunDiff >= 0 AND dd.iSunDiff < dd.iDays, 1, 0)) AS iWeekEndDays 
  FROM ( 
    SELECT 
      dd.iDiff, 
      FLOOR(dd.iDiff / 7) AS iWeeks, 
      dd.iDiff % 7 iDays, 
      5 - dd.iStartDay AS iSatDiff, 
      6 - dd.iStartDay AS iSunDiff 
    FROM ( 
      SELECT 
        1 + DATEDIFF(d2, d1) AS iDiff, 
        WEEKDAY(d1) AS iStartDay 
      ) AS dd 
  ) AS dd 
) AS dd ; 


CALL DayCount( '2009-8-1','2009-9-15'); 

1 Ответ

0 голосов
/ 05 января 2011

Проверьте этот хранимый процесс в консоли MySQL, если он работает нормально, вам следует проверить свой вызов из PHP. Я обнаружил, что такая же проблема возникает с другими людьми .

...