Мне нужен способ временно хранить и использовать несколько значений, возвращаемых из запроса Oracle. В SQL Server я сохранил свои значения в таблице temp, выполнил мою работу, а затем сбросил таблицу. Я обнаружил, что эквивалент Oracle не столь четкий.Временное сохранение нескольких значений в Oracle
Вот пример SQL Server, что я пытаюсь сделать:
select id into #temp from SomeTable where SomeColumn = 'Some Value'
:
(do whatever I need to do with #temp data)
:
drop table #temp
Я могу закодировать свой путь вокруг SQL Server довольно хорошо, но я почти невежественны, когда дело доходит до синтаксиса Oracle. Я читал разные ссылки Oracle, и они не очень помогли. Я прочитал, что таблицы Oracle temp работают иначе, чем SQL, и часто не рекомендуются.
Я ищу маршрут временного стола, но если есть лучший способ сделать это, который не использует временные таблицы, я все уши. Кто-нибудь знает лучший способ сделать это в Oracle?
Заранее спасибо.
Используйте коллекции. –
Что вы делаете с '# temp' в своей процедуре и почему вы временно материализуете данные? Это повлияет на то, как лучше всего перевести код. См. Например, http://dba.stackexchange.com/questions/34279/temporary-table-inside-procedure-oracle/34322#34322 –
Короче говоря: мне нужно поменять значения в столбце. Например, у меня есть значения SomeValue1 и SomeValue2 в SomeColumn. Мне нужно поменять SomeValue1 на SomeValue2 и наоборот. Мне нужны значения #temp (у меня на самом деле есть два из них), чтобы отслеживать, какие идентификаторы хранят значения. –