Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / select... update... output... / 7 сообщений из 7, страница 1 из 1
19.09.2018, 15:33
    #39705062
Jey1977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select... update... output...
Добрый день всем.

Необходимо записать одним оператором запрос

Код: sql
1.
Update StatusTable set ReadFlag = 2 output inserted.*  where ReadFlag is null



но таким образом, чтобы он начинался с SELECT.
Вариант с Declare @TmpTable table(...); Update.. output into...; Select *...; не подходит так как это три оператора.
Это реально надо (не праздный интерес), только не спрашивайте зачем.
Спасибо.
...
Рейтинг: 0 / 0
19.09.2018, 15:52
    #39705085
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select... update... output...
Жесть.

Ну извратитесь так:
Код: sql
1.
select * from openrowset('SQLNCLI', 'Server=.;Trusted_Connection=yes', 'Update StatusTable set ReadFlag = 2 output inserted.*  where ReadFlag is null');
...
Рейтинг: 0 / 0
19.09.2018, 15:57
    #39705089
Jey1977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select... update... output...
invm, спасибо. Но при этом

SQL Server заблокировал доступ к STATEMENT "OpenRowset/OpenDatasource" компонента "Ad Hoc Distributed Queries", поскольку он отключен в результате настройки конфигурации безопасности сервера.

:)
...
Рейтинг: 0 / 0
19.09.2018, 15:58
    #39705090
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select... update... output...
Jey1977,

:) OPENQUERY
...
Рейтинг: 0 / 0
19.09.2018, 16:07
    #39705098
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select... update... output...
Jey1977,

Ну если "реально надо" проделать желаемое в одной инструкции, то придется разрешить "Ad Hoc Distributed Queries".
...
Рейтинг: 0 / 0
20.09.2018, 05:59
    #39705350
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select... update... output...
Возможно страдальцу сойдет

Код: sql
1.
select a = 1 into #t Update StatusTable set ReadFlag = 2 output inserted.*  where ReadFlag is null



Это, канешно, два оператора, но что-то мне подсказывает, что вряд ли синтаксический разбор запроса делает MS SQL.
Нибось какую-то левую прогу надо надуть.
...
Рейтинг: 0 / 0
20.09.2018, 09:55
    #39705431
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select... update... output...
aleks222Нибось какую-то левую прогу надо надуть.Или автор не знает, что "запросом" от клиентского приложения может быть что угодно.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / select... update... output... / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]