2012-05-19 5 views
2

Я пытаюсь получить информацию из базы данных Oracle с помощью XQuery. таблица customer выглядитИспользование XQuery в Oracle

---id---last_name--- 
    1 Smith 
    2 Jackson 
    3 Peters 

, и я хочу, чтобы все фамилии.
Это мой код:

select last_name, XMLQuery(
'for $i in /customer 
return $i/last_name' 
PASSING BY VALUE customer 
RETURNING CONTENT) last_name 
FROM customer; 

Он говорит, что есть в этой строке %s: invalid identifier: PASSING BY VALUE customer

ответ

4

Если я правильно понимаю, вы хотите использовать XQuery для запроса чисто реляционные данные.

В этом случае, вы можете использовать ora:view и что-то типа:

SELECT XMLQuery(' 
    for $customer in ora:view("customer")/ROW 
     return $customer/LAST_NAME 
' RETURNING CONTENT) FROM DUAL; 

должен сделать трюк.

+0

'ora: view' вставляет каждую строку в элемент' ROW'. –

+0

Большое спасибо! – user1170330

+0

Можно ли выбрать только определенные столбцы для отображения? – user1170330

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