Sql In-Memory объект, который существует в Microsoft SQL и ORACLE - PullRequest
0 голосов
/ 15 февраля 2012

Существует ли какой-либо объект In-Memory, такой как временные таблицы Microsoft SQL Server, который можно использовать и для Oracle?

ОБНОВЛЕНИЕ :

Я спросил о Tempтаблицы, потому что я должен скопировать набор данных X и вставить их снова в той же таблице и сделать некоторые обновления в полях скопированного набора данных.Одно только действие копирования вызовет исключение основного ограничения, поэтому мне нужно выполнить вставку в (Выбрать ... в объект In-Memory, выполнить там обновления, а затем записать все наборы данных изменений в исходную таблицу. Что лучше подходитTemp Table или Table variable? Рассмотрим, что я использую ADO.NET. Поэтому ОДИН оператор, который выполняется, должен работать для Oracle И MS Sql Server без исключения из-за языковых различий.

Ответы [ 2 ]

3 голосов
/ 15 февраля 2012

Да. Oracle также имеет временных таблиц . Или, возможно, вы спрашивали о переменных таблицы (трудно сказать по вашему вопросу)? Они отвечают на это также да .

К вашему сведению: временные таблицы в SQL не гарантированно находятся в памяти

Обновление: Чтобы ответить на новый вопрос, который вы добавили в ОП. Используйте то, что лучше всего подходит для вашего кода. Я не думаю, что это существенно меняет, используете ли вы переменные таблиц или «настоящие» временные таблицы. Лучший вопрос - использовать ли глобальные или локальные временные таблицы. В таком случае, я бы сказал, избегайте глобальных, если у вас нет выбора.

0 голосов
/ 15 февраля 2012

Oracle имеет временные таблицы, но вы должны создать их во время установки:

  1. при установке вашей БД используйте CREATE TEMPORARY TABLE для создания таблицы
  2. Каждый пользователь может видеть только свои собственные данные, и эти данные теряются, когда они завершают сеанс или фиксируют транзакцию, чтобы вы могли использовать их для временной обработки.
...