Как создать вид и обновить его позже? - PullRequest
0 голосов
/ 12 марта 2010

Возможно ли обновить то же представление новыми данными? Использование UPDATE после CREATE, похоже, не сработало.

Имейте только 1 стол. Хотите, чтобы представление было подмножеством этой таблицы. После использования представления мне бы хотелось, чтобы в этом же представлении содержалось другое подмножество данных из единственной таблицы.

Думал, что могу создать представление, удалить его, а затем создать его снова с тем же именем, но в другом подмножестве из таблицы ..... но не уверен, что есть лучший способ?

Create view ID 1-10 if it does not exist.
. 
. //
. //
. 
Update view **ID** 2-10   

Любая помощь приветствуется.

Ответы [ 3 ]

3 голосов
/ 12 марта 2010

Я думаю, вы неправильно понимаете цель представления. То, что вы пытаетесь сделать, может быть обработано простым выбором, изменив предложение WHERE. Представление обычно представляет собой фиксированное окно в таблицу (или таблицы), определяемое его критериями выбора. Обычно вы не будете менять вид динамически, чтобы представлять различные критерии выбора. Обычно вы просто делаете выбор по таблице или по самому представлению, если выбираете подмножество столбцов в представлении или выполняете объединение нескольких таблиц в представлении. Поскольку у вас есть одна таблица, я бы посоветовал просто создать нужный вам запрос динамически и полностью пропустить представление.

  select * from table where ID > 0 and ID <= 10

тогда

  select * from table where ID > 1 and ID <= 10

Обратите внимание, что во многих случаях вы можете сохранить это как хранимую процедуру и при необходимости параметризовать запрос. Если ваш язык / платформа поддерживает это, используйте параметризованные запросы и при выполнении простых команд.

1 голос
/ 12 марта 2010

Представления являются неправильным инструментом для этого.

Вы, вероятно, должны создать хранимую процедуру, которая принимает диапазон идентификаторов в качестве параметра.

Чтобы ответить на вопрос, вы ищетеALTER VIEW выписка.

1 голос
/ 12 марта 2010

Да, обновления в базовых таблицах будут видны в представлении (при прочих равных условиях). Было бы полезно больше информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...