2013-04-22 474 views
0

我創建了一個表的XQuery:OBJECT_VALUE無效標識符

Movie (title varchar2(40), review XMLTYPE) 

而且審查:`

<review> 
<reviewer>...</reviewer> 
<title> ....</title> 
<rating>.....</rating> </Review> </reviewer> 

當我嘗試訪問:

SELECT X.reviewername FROM movie m, XMLTABLE ('for $d in /reviews/review 
return $d' 
PASSING OBJECT_VALUE 
columns 
reviewername VARCHAR2(50) PATH 'reviewer') AS X 

我得到一個錯誤在OBJECT_VALUE。我哪裏錯了?

編輯:我改變了查詢到

SELECT m.title, 
warehouse2.* 
FROM movie M, 
XMLTABLE('/REVIEW' 
    PASSING m.reviews 
    COLUMNS 
    "Rail" varchar2(60) PATH '//RATING') 
    warehouse2; 

但越來越沒有選擇行。有什麼建議麼?

+0

嗯,有一件事,你沒有錯字:'/ reviews/review'嗎?你的例子中沒有任何地方叫做。你能清理代碼以確保它準確嗎? – OldProgrammer 2013-04-22 16:28:01

+0

嘗試將其更改爲小寫。但是,不返回任何行。 – 2013-04-22 16:29:44

+0

你的XML格式不正確,你有重疊的標籤,你有不匹配的評論/評論(XML區分大小寫),在你的查詢中你有評論/評論,但你的XML有/評論(最後沒有)。 – barefootliam 2013-04-23 18:30:30

回答

0

那麼有一件事,你沒有錯字:'/ reviews/review'嗎?你的例子中沒有任何元素被調用。

你的XML格式不正確,你有重疊的標籤,你有不匹配的評論/評論(XML區分大小寫),在你的查詢中你有評論/評論,但你的XML有/評論(沒有結束)。 -