2013-06-10 1 views
0

Если я разрабатываю приложение в .NET с Oracle, есть класс OracleCommand, который имеет свойство AddRowId=true. Это утверждение включает столбец RowId в наборе результатов.Как добавить rowid в результирующий набор хранимой процедуры oracle в java

Но я не могу найти ничего подобного в JDBC's OracleStatement. Может ли кто-нибудь помочь мне в этом? Мне действительно нужно заставить rowid возвращаться в наборе результатов моих хранимых процедур без изменения хранимых процедур.

ответ

0

Добавьте псевдонимы ROWID в свои запросы, чтобы получить идентификатор строки.

например:

SELECT name, ROWID 
FROM People 
+0

как я уже сказал, я не могу редактировать запросы. Кроме того, они не являются нормальными выборами. Мы говорим о хранимых процедурах. – Faisal

+0

Упс! Пропустил это. > _ < –

0

Если вы не можете изменить хранимую процедуру, вы имеете никакого способа предоставления программы Java или .Net с ROWIDs этих строк не возвращается хранимой процедурой. ROWID - только, доступный непосредственно через инструкцию SELECT.

+0

Мы можем сделать это в .net, используя oracleCommand.AddRowId = true; – Faisal

+1

@Faisal PLS показывают, что код с использованием addrowid. В [docs] (http://docs.oracle.com/cd/E11882_01/win.112/e23174/OracleCommandClass.htm#i997582) «Этот столбец ROWID скрыт и недоступен для приложения. Чтобы получить доступ для ROWID таблицы, ROWID должен быть явно добавлен в список выбора без использования этого свойства. " – tbone

+0

@Faisal Я думаю, вы найдете, что AddRowId не делает то, что вы думаете. – GriffeyDog

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