Лучшие практики при вставке данных в представление - PullRequest
1 голос
/ 07 августа 2009

У меня есть несколько просмотров, и я хочу вставить в них некоторые данные. Я слышал, что вам нужно " быть осторожным при выполнении этого ", и вам нужно " настроить представление для корректной работы вставки ". Что мне нужно искать, и что если мне нужно что-то сделать с моим представлением, чтобы разрешить вставки в него?

Лучше вставить в базовые таблицы, хотя это довольно громоздко?

Ответы [ 2 ]

1 голос
/ 07 августа 2009

Из MSDN, Изменение данных через представление

  • Может быть обновлена ​​одна базовая таблица
  • без агрегатов или необычных объединений
  • без ограничителей строк (например, TOP)

Лично я бы использовал триггеры INSTEAD OF / BEFORE, поскольку в статье упоминается, что я не могу использовать хранимые процедуры и мне нужно разрешить обновляемые представления

0 голосов
/ 07 августа 2009

Вы не можете INSERT INTO vwMyCompexView использовать T-SQL, а также не можете использовать графический интерфейс сетки SQL Management Studio для вставки данных в представление, состоящее из основного объединения.

Вы МОЖЕТЕ использовать графический интерфейс SQL Mgmt Studio или T-SQL для вставки данных в представление, состоящее из отдельной таблицы , которая НЕ выполняет никаких вычислений или агрегатных функций. Только те виды, которые являются прямым зеркалом базовой таблицы, могут быть вставлены в. Если ваше представление исключает столбец, который не имеет значения NULL и не имеет значения по умолчанию, вставка завершится неудачно.

Я бы порекомендовал всегда создавать сценарии для ваших вставок с использованием хранимых процедур. (Я действительно должен был ПОПРОБОВАТЬ эти два сценария, прежде чем ответить на этот вопрос. Я никогда не думал об использовании представления для вставки данных. Это только я; YMMV.)

...