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

Откуда:
Сообщений: 118
Как узнать в среде MS SQL Server Management Studio Express обновляем ли запрос?
11 сен 15, 08:57    [18135799]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Михайло_
Как узнать в среде MS SQL Server Management Studio Express обновляем ли запрос?

попробовать изменить данные
11 сен 15, 08:58    [18135803]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
Михайло_
Member

Откуда:
Сообщений: 118
Ещё и хотел сделать приписку: "преобразование SELECT в UPDATE не предлагать"...
Понятно, спасибо.
11 сен 15, 09:05    [18135822]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Михайло_
Понятно, спасибо.

Непонятно только, какое отношение сервер имеет к вашему вопросу.
На сервере любая таблица обновляема командой update. Но сервер за вас этот update писать не будет.
11 сен 15, 09:09    [18135840]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
Михайло_
Как узнать в среде MS SQL Server Management Studio Express обновляем ли запрос?

Glory вот наверное догадался, а я чего-то туплю...
Вы не могли бы как-то перефразировать вопрос, что значит "обновляем ли запрос"?
11 сен 15, 09:27    [18135893]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Yuri Abele
Вы не могли бы как-то перефразировать вопрос, что значит "обновляем ли запрос"?

ТС грид с результатами запроса не может редактировать.
А писать "преобразование SELECT в UPDATE" не хочет
11 сен 15, 09:29    [18135906]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
Михайло_
Member

Откуда:
Сообщений: 118
Glory
ТС грид с результатами запроса не может редактировать.

А разве такое возможно? В MS Access - да, а вот в среде MS SQL Server Management Studio Express у меня этот номер не проходит... Научите как?

Yuri Abele
Вы не могли бы как-то перефразировать вопрос, что значит "обновляем ли запрос"?

Набор записей, возвращаемый запросом, - не обновляем.
11 сен 15, 09:53    [18136031]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Михайло_
А разве такое возможно? В MS Access - да, а вот в среде MS SQL Server Management Studio Express у меня этот номер не проходит... Научите как?

Разрешать вам что-то делать в гриде решает клиентское приложение, а не сервер
11 сен 15, 09:56    [18136050]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
Михайло_
Набор записей, возвращаемый запросом, - не обновляем.

Осталось не понятным что за записи, где и т.д.
Сами записи - это только копия исходных данных.
Т.е. где вы хотели бы обновлять?
- Если внутри процедуры, то можно подумать про обновляемый курсор.
- Если внутри VIEW, то MSSQL сам решит, что вам через него можно, что нельзя обновлять.
- Можно вопользоваться контекстным меню "Edit top 200 rows" на любой таблице и щелкнув на тулбаре по кнопке SQL подменить текст запроса на свой. Фактически в background-е будет бежать серверный обновляемый курсор
- если свое клиентское приложение, то тут или UPDATE комманды писать или, опять же, серверным курсоро воспользоваться, но это как-то извращенно всё.

Опишите задачу попонятнее
11 сен 15, 10:08    [18136124]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
Yuri Abele
- Можно вопользоваться контекстным меню "Edit top 200 rows" на любой таблице и щелкнув на тулбаре по кнопке SQL подменить текст запроса на свой. Фактически в background-е будет бежать серверный обновляемый курсор

Сдается мне, что это ваш случай
11 сен 15, 10:09    [18136130]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
Yuri Abele
Yuri Abele
- Можно вопользоваться контекстным меню "Edit top 200 rows" на любой таблице и щелкнув на тулбаре по кнопке SQL подменить текст запроса на свой. Фактически в background-е будет бежать серверный обновляемый курсор

Сдается мне, что это ваш случай

И тут MSSQL сам решит какие поля можно, какие нельзя менять. Обычно нельзя те, что трансформированы.
Т.е. в таком запросе поле [A] будет редактируемо, а [B] нет:
SELECT A, B + '' AS B FROM MyTable
11 сен 15, 10:11    [18136145]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1741
Михайло_
Glory
ТС грид с результатами запроса не может редактировать.

А разве такое возможно? В MS Access - да, а вот в среде MS SQL Server Management Studio Express у меня этот номер не проходит... Научите как?

Yuri Abele
Вы не могли бы как-то перефразировать вопрос, что значит "обновляем ли запрос"?

Набор записей, возвращаемый запросом, - не обновляем.


Я использовал для подключения к серверу вариант с провайдером, а не драйвером - помогло создание в каждой таблице запроса Primary key на основе identity поля.
При числе таблиц в запросе больше 1 есть ещё один нюанс, что-то про указание основной таблицы в запросе, но это я уже не помню.
11 сен 15, 10:17    [18136190]     Ответить | Цитировать Сообщить модератору
 Re: Обновляем ли запрос?  [new]
Михайло_
Member

Откуда:
Сообщений: 118
DaniilSeryi, да, свойство UniqueTable заполняется именем таблицы, которая должна обновляться. Но, к сожалению, тоже не всегда помогает...
11 сен 15, 13:32    [18137752]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить