2016-11-13 4 views
0

Получение ошибки при использовании двух курсоровПолучение ошибки при использовании двух курсоров

[Error] PLS-00103 (45: 48): PLS-00103: Encountered the symbol 
     "TX_COM_LOCATION" when expecting one of the following: 

     := . (@ % ; 
    The symbol ":=" was substituted for 
    "TX_COM_LOCATION" to continue. 

Пожалуйста, помогите

+0

CREATE OR REPLACE ПРОЦЕДУРА COM_LOCATION_TXM IS НАЧАТЬ DECLARE КУРСОРОМ TXM_COM_LOCATION IS SELECT col1, col2, col3 из TBL_SAR_SALAS_1 А; CURSOR TX_COM_LOCATION: выберите col1, col2, col3 из TBL_LOCALES B; TMP_TXM TXM_COM_LOCATION% ROWTYPE; Начало IF NOT TXM_COM_LOCATION% ISOPEN THEN OPEN TXM_COM_LOCATION; END IF; FETCH TXM_COM_LOCATION INTO TMP_TXM; EXIT WHEN TXM_COM_LOCATION% NOTFOUND; TMP_TXM TX_COM_COCATION% ROWTYPE; IF NOT TX_COM_LOCATION% ISOPEN THEN – Ajeet

+0

OPEN TXCOM_LOCATION; END IF; LOOP FETCH TX_COM_LOCATION INTO TMP_TX; EXIT WHEN TX_COM_LOCATION% NOTFOUND; BEGIN Вставить заявление() END; END LOOP; END LOOP; commit; END; END COM_LOCATION_TXM; / – Ajeet

+0

Извините, что нарушил код .. и добавьте его. – Ajeet

ответ

0

Проверьте это:

CREATE OR REPLACE PROCEDURE COM_LOCATION_TXM IS BEGIN DECLARE CURSOR TXM_COM_LOCATION IS SELECT col1 , col2, col3 FROM TBL_SAR_SALAS_1 A; CURSOR TX_COM_LOCATION IS SELECT col1, col2, col3 FROM TBL_LOCALES B; TMP_TXM TXM_COM_LOCATION% ROWTYPE; TMP_TXM TX_COM_LOCATION% ROWTYPE; НАЧАТЬ ЕСЛИ НЕ TXM_COM_LOCATION% ISOPEN THEN OPEN TXM_COM_LOCATION; END IF; LOOP FETCH TXM_COM_LOCATION INTO TMP_TXM; EXIT WHEN TXM_COM_LOCATION% NOTFOUND; IF NOT TX_COM_LOCATION% ISOPEN THEN OPEN TXCOM_LOCATION; END IF; LOOP FETCH TX_COM_LOCATION INTO TMP_TX; EXIT WHEN TX_COM_LOCATION% NOTFOUND; НАЧАТЬ NULL; - ЗАМЕНИТЬ НУЛЛ С ЗАВЕРШЕНИЕМ ВСТАВКИ КОНЕЦ; END LOOP; END LOOP; COMMIT; КОНЕЦ; END COM_LOCATION_TXM;

+0

не работает, дорогая ... его высказывание [Ошибка] PLS-00201 (36: 10): PLS-00201: идентификатор 'TX_COM_COCATION' должен быть объявлен..dont знаю почему – Ajeet

+0

Это из-за ошибки в имени типа: –

+0

Я отредактировал мое сообщение. Попробуй. –

0
CREATE OR REPLACE PROCEDURE COM_LOCATION_TXM 
IS 
BEGIN 
DECLARE CURSOR TXM_COM_LOCATION IS SELECT col1,col2,col3 from TBL_SAR_SALAS_1 A; 
CURSOR TX_COM_LOCATION is select col1,col2,col3 from TBL_LOCALES B; 
TMP_TXM TXM_COM_LOCATION%ROWTYPE; 
TMP_TXM TX_COM_COCATION%ROWTYPE; 
Begin 
IF NOT TXM_COM_LOCATION%ISOPEN 
THEN OPEN TXM_COM_LOCATION; 
END IF; 
FETCH TXM_COM_LOCATION INTO TMP_TXM; 
EXIT 
WHEN TXM_COM_LOCATION%NOTFOUND; 

IF NOT TX_COM_LOCATION%ISOPEN 
THEN 
OPEN TXCOM_LOCATION; 
END IF; 
LOOP FETCH TX_COM_LOCATION INTO TMP_TX; EXIT WHEN TX_COM_LOCATION%NOTFOUND; 
BEGIN Insert statement() 
END; 
END LOOP; 
END LOOP; 
commit; 
END; 
END COM_LOCATION_TXM ;