2014-11-27 3 views
0
create or replace procedure p_update_project_status(v_project_id in number(10)) is 
declare 
    v_bid_file_status number(2); 
    v_bid_form_status number(2); 
    v_supplier_status number(2); 
begin 
    select status into v_bid_file_status from PROJECT_FILE where type = 0 and associated_project_id = v_project_id; 
    select status into v_bid_form_status from PROJECT_FILE where type = 1 and associated_project_id = v_project_id; 
    select status into v_supplier_status from SUPPLIER_INFO where associated_project_id = v_project_id; 
    if((v_bid_file_status = 3) and (v_bid_form_status = 3) and (v_supplier_status = 3)) then 
     update PROJECT_INFO set status = 3 where id = v_project_id; 
    else 
     update PROJECT_INFO set status = 0 where id = v_project_id; 
    end if; 
end; 

я выполнить процедуру, но это недействительно, я старался изо всех сил, чтобы исправить это, но до сих пор invalid.I не знаю, куда собирается wrong.Please помочь мнепожалуйста 00905 объект недействителен

+1

Попробуйте удалить ключевое слово 'declare' – Aramillo

+0

Если вы выполните' show errors' после этого, вы увидите сообщение об ошибке –

+0

@a_horse_with_no_name, пожалуйста, можете ли вы объяснить, что бит litte, я не знаю этой инструкции. Спасибо – Aramillo

ответ

0

Ключевое слово DECLARE здесь не обязательно. Вам это нужно, только если вы используете анонимный блок. Удалите это, и он должен скомпилироваться.

Смежные вопросы