C # и SQL Server 2005: возвращаемое значение и обновление в одном пакете - PullRequest
1 голос
/ 25 июля 2010

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

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

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

Ответы [ 2 ]

2 голосов
/ 25 июля 2010
UPDATE Y
OUTPUT --use this
SET X...

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

0 голосов
/ 25 июля 2010

Ваш вопрос немного неясен. Если вопрос о том, как обновить и выбрать в одном утверждении, чем см. Ответ ГБН.

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

begin

  select * from x

  update y set a = ...

end

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

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