2014-02-05 52 views
0

你好,我有此光標我在我的PL這段代碼/ SQL的一個問題更新表列

update CAND_ORDER SET SOURCE_SITE_ID = i.SITE_ID WHERE CAND_ORDER_ID IN 
(select CAND_ORDER_ID from CAND_ORDER where SOURCE_SITE_ID is null and SP_TRIAL_MATERIAL_ID in 
(select SP_TRIAL_MATERIAL_ID from SP_TRIAL_MATERIAL where SP_RESEARCH_STATION_ID_SOURCE IN 
(select SP_RESEARCH_STATION_ID from SP_RESEARCH_STATION where SP_RESEARCH_STATION.CODE IN 
(SELECT SITE_CODE from SITE WHERE SITE.SITE_CODE=i.SITE_CODE)))); 

它給出了一個錯誤說:

PLS-00302: component 'SITE_ID' must be declared 
ORA-06550: line 17, column 44: 
PL/SQL: ORA-00904: "I"."SITE_ID": invalid identifier 

我完全做不明白請你幫忙指點是什麼問題

+1

ru引用來自另一個表的site_id。如果您收到無效的標識符,請提供正確的代碼或您正在使用的表(字段)的結構 –

+0

@ user2940216謝謝我發現site_id作爲字段未添加在添加它它工作正常 –

回答

0

我認爲錯誤是在遊標本身,因爲SITE_ID沒有添加在遊標中作爲列。我添加了它,問題解決了。