Manlike
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Доброе время суток всем! Столкнулся с такой проблемкой есть процедура ----------------------------------- PROCEDURE NEW_GRAPHIC_R (YEAR IN VARCHAR2) IS CURSOR c_query IS (SELECT a.testingperiod, i.testingdate_max, a.measurer, a.numberinset FROM metrology.measurer a, (SELECT a.measurer, a.testingdate_max FROM (SELECT f.measurer, MAX (f.min_test_date) AS testingdate_max FROM (SELECT e.measurer, e.min_test_date FROM (SELECT a.measurer, MIN (a.testingdate) AS min_test_date FROM metrology.measurertesting a WHERE (a.testingdate BETWEEN TO_DATE('01.01.'||YEAR,'DD.MM.YYYY') AND TO_DATE('31.12.'||YEAR,'DD.MM.YYYY')) AND (a.testingresult = 197) GROUP BY a.measurer) e WHERE (metrology.pkgmeasurerstatus.getstatus(e.measurer,TO_DATE ('01.01.'|| YEAR,'DD.MM.YYYY')) IN ('R', 'M')) AND (metrology.pkgmeasurerstatus.getstatus(e.measurer,e.min_test_date+1) = 'V') ) f GROUP BY f.measurer ) a WHERE (metrology.pkgmeasurerstatus.getstatus(a.measurer,a.testingdate_max+1) = 'V') ) i WHERE (i.measurer = a.measurer) AND (a.testingperiod IS NOT NULL) AND (i.testingdate_max IS NOT NULL) AND (a.testingperiod <> 0) ); cur_date DATE; BEGIN FOR rec IN c_query LOOP cur_date := ADD_MONTHS (rec.testingdate_max, rec.testingperiod); WHILE (cur_date <= TO_DATE ('31.12.' || YEAR, 'DD.MM.YYYY')) LOOP IF (cur_date >= TO_DATE ('01.01.' || YEAR, 'DD.MM.YYYY')) THEN INSERT INTO metrology.testinggraphicind (measurer, YEAR, MONTH, numberinset, status ) VALUES (rec.measurer, TO_NUMBER (YEAR),ОШИБКА!!! TO_NUMBER (TO_CHAR (cur_date, 'MM')), rec.numberinset, NULL ); END IF; cur_date := ADD_MONTHS (cur_date, rec.testingperiod); END LOOP; END LOOP; COMMIT; END; ----------------------------------- Oracle ругается на последнюю скобку в строке VALUES (rec.measurer, TO_NUMBER (YEAR), (там я написал ОШИБКА!!!) сообщение такое (1): PLS-00103: Встретился символ ")" в то время как ожидалось одно из следующих: (1): (1): from все скобки вроде на месте что не так? сервер: ORA 8.1.7 на WinXP клиент: ORA 8.1.7 на WinXP |