C# и SQL Server 2005: Возвращаемое значение и обновление в одном пакете

Просто любопытный, является ли это надежным способом сделать следующее: Я должен получить некоторое значение и затем обновить его, оптимально в одном пакете.

SELECT X FROM Y //will it be returned if executed in one batch?
UPDATE Y SET X...

Выполняемый как Читатель? Я не уверен, возвратится ли это, если существует ОБНОВЛЕНИЕ statetement. И один дополнительный вопрос, что, если я должен был возвратить TRUE или FALSE (или какая-либо другая пара значений) в зависимости от того, успешно выполняются ли или notsome оператор?

1
задан gbn 25 July 2010 в 17:26
поделиться

2 ответа

Ваш вопрос немного неясен. Если речь идет о том, как обновлять и выбирать в одном операторе, то смотрите ответ gbn.

Если вопрос в том, как выполнить два разных оператора, то можно использовать блок begin-end:

begin

  select * from x

  update y set a = ...

end

Вы можете установить CommandType в text и использовать ExecuteReader метод команды. Оба оператора будут выполнены, и вы получите набор результатов из оператора select.

0
ответ дан 2 September 2019 в 22:47
поделиться
UPDATE Y
OUTPUT --use this
SET X...

Предложение OUTPUT позволяет это для SQL Server 2005+ (я предполагаю, с помощью C #)

2
ответ дан 2 September 2019 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: