Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Заполнение таблицы из представления  [new]
=Сергей=
Member

Откуда:
Сообщений: 336
Есть представление
create view [V_Main]
as
select [Parameter],[Value] from [T_Main]
where [Value] is not null

и таблица
create table [T_Parameters]([Parameter] varchar(100), [Data] varchar(100))

Представление ВСЕГДА вызывается с условием where [Parameter] = 'значение параметра'
Требуется добавлять в таблицу [T_Parameters] значения условия, с которым вызывается представление и вычисляемое значение [Data].
Как это сделать?
29 янв 16, 15:18    [18746006]     Ответить | Цитировать Сообщить модератору
 Re: Заполнение таблицы из представления  [new]
Glory
Member

Откуда:
Сообщений: 104751
=Сергей=
Требуется добавлять в таблицу [T_Parameters] значения условия, с которым вызывается представление и вычисляемое значение [Data].
Как это сделать?

Записи в таблицу добавляются командой INSERT
29 янв 16, 15:19    [18746020]     Ответить | Цитировать Сообщить модератору
 Re: Заполнение таблицы из представления  [new]
=Сергей=
Member

Откуда:
Сообщений: 336
Glory
Записи в таблицу добавляются командой INSERT

Это понятно :)
Если нетрудно, расскажите как реализовать, учитывая ограничения функций на операции записи в таблицы.
29 янв 16, 15:24    [18746055]     Ответить | Цитировать Сообщить модератору
 Re: Заполнение таблицы из представления  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
=Сергей=,

напишите параметризованную процедуру. В ней вставляйте что хотите куда хотите и запрашивайте представление.
29 янв 16, 15:24    [18746059]     Ответить | Цитировать Сообщить модератору
 Re: Заполнение таблицы из представления  [new]
Glory
Member

Откуда:
Сообщений: 104751
=Сергей=
Если нетрудно, расскажите как реализовать, учитывая ограничения функций на операции записи в таблицы.

Реализовать что ?
Написание и отправку синтаксически правильной команды INSERT в вашем приложении ?
Или чтобы сервер сам за вас написал эту команду ?
29 янв 16, 15:26    [18746073]     Ответить | Цитировать Сообщить модератору
 Re: Заполнение таблицы из представления  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
=Сергей=
Glory
Записи в таблицу добавляются командой INSERT

Это понятно :)
Если нетрудно, расскажите как реализовать, учитывая ограничения функций на операции записи в таблицы.


Функции предназначены для выборки данных, а не для их изменения. Для изменения существуют процедуры.
29 янв 16, 15:28    [18746106]     Ответить | Цитировать Сообщить модератору
 Re: Заполнение таблицы из представления  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31958
=Сергей=
Если нетрудно, расскажите как реализовать, учитывая ограничения функций на операции записи в таблицы.
"Функция" откуда тут взялась? Про функции в начальном вопросе не было.

Если вопрос в том, можно ли заставить сервер выполнять некие определяемые пользователем действия на событие обращения к VIEW, то ответ - нельзя, никакими способами.

Или вы про что то другое спрашиваете?
30 янв 16, 00:39    [18748795]     Ответить | Цитировать Сообщить модератору
 Re: Заполнение таблицы из представления  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
=Сергей=
Требуется добавлять в таблицу [T_Parameters] значения условия, с которым вызывается представление и вычисляемое значение [Data].
Как это сделать?
Триггеров на SELECT в SQL Server нет. Так что никак.
30 янв 16, 00:47    [18748826]     Ответить | Цитировать Сообщить модератору
 Re: Заполнение таблицы из представления  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Тут многие категорично говорят, что никак, а я бы вот кинул свой взгляд в сторону аудита - в нем должны фиксироваться события доступа на чтение, исходя из этого можно попытаться обеспечить запись в нужную таблицу. Правда, вряд ли удастся обеспечить синхронность записи (если есть такое требование) да и костыль это.

По моему мнению, архитектурно верное решение - обеспечивать доступ на чтение через выполнение хранимой процедуры, в ней же, при необходимости, писать нужные сведения в другую таблицу.
1 фев 16, 11:24    [18755048]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить