Добрый день! Вот бьюсь с вопросом, почему в TOAD скрипт выполняется, а в SQL*PLUS нет. Ошибки не выскакивает, просто скрипт не заканчивает работу.
А вот и он, "родимый":
| Код |
DECLARE recs_found NUMBER(5); recs_added NUMBER(5);
BEGIN recs_found := 0; recs_added := 0;
DECLARE CURSOR c1 IS SELECT site FROM site;
thisSite site.site%TYPE; activityB0 activity.handle%TYPE; podActivityHandle POD_ACTIVITY.handle%TYPE; podButtonHandle POD_BUTTON.handle%TYPE;
BEGIN OPEN c1; LOOP FETCH c1 INTO thisSite; EXIT WHEN c1%NOTFOUND;
activityB0 := 'ActivityBO:DM720' ; podActivityHandle := 'PODActivityBO:PODButtonBO:PODConfigBO:WorkstationBO:' || thisSite || ',' || 'SFC_CUSTOM_DATA' || ',' ||'SO_STEP'||','|| '220'; podButtonHandle := 'PODButtonBO:PODConfigBO:WorkstationBO:' || thisSite || ',' || 'SFC_CUSTOM_DATA' || ',' ||'SO_STEP'; SELECT COUNT(*) INTO recs_found from POD_ACTIVITY WHERE ACTIVITY_BO = activityB0 and HANDLE = podActivityHandle ;
if recs_found <= 0 then INSERT INTO POD_ACTIVITY ( handle, CHANGE_STAMP, ACTIVITY_BO ,SEQUENCE,IS_PLUGIN,REFRESH_PLUGIN,CLEARS_SFC,OPEN_NEW_WINDOW,POD_BUTTON_BO ) VALUES ( podActivityHandle, '', activityB0 ,'220', 'true','false','false','true' ,podButtonHandle ); recs_added := recs_added+1;
end if; podActivityHandle := 'PODActivityBO:PODButtonBO:PODConfigBO:WorkstationBO:' || thisSite || ',' || '*' || ',' ||'SO_STEP'||','|| '220'; podButtonHandle := 'PODButtonBO:PODConfigBO:WorkstationBO:' || thisSite || ',' || '*' || ',' ||'SO_STEP'; SELECT COUNT(*) INTO recs_found from POD_ACTIVITY WHERE ACTIVITY_BO = activityB0 and HANDLE = podActivityHandle ;
if recs_found <= 0 then INSERT INTO POD_ACTIVITY ( handle, CHANGE_STAMP, ACTIVITY_BO ,SEQUENCE,IS_PLUGIN,REFRESH_PLUGIN,CLEARS_SFC,OPEN_NEW_WINDOW,POD_BUTTON_BO ) VALUES ( podActivityHandle, '', activityB0 ,'220', 'true','false','false','true' ,podButtonHandle ); recs_added := recs_added+1;
end if;
END LOOP; CLOSE c1; END; END;
|
Может кто знает, что тут может быть неправильно?
Спасибо |