Обновление и выбор в одном запросе

Я нашел похожие вопросы с правильными ответами. Но они немного сложны для меня. Я просто хочу простой базовый оператор.

У меня есть:

string sql = "UPDATE tblPopUp 
                 SET PopUp = 'False' 
               WHERE DisplayNo = 1"

... и:

string sql1 = "SELECT Period  
                 FROM tblPopUp 
                WHERE DisplayNo = 1"

Как я могу объединить их?

Ответ 1

UPDATE tblPopUp  
SET PopUp = 'False', Period = Period  
OUTPUT DELETED.Period
WHERE DisplayNo = 1

Для получения дополнительной информации о предложении OUTPUT, пожалуйста, проверьте этот пост.

Ответ 2

Вы не можете.

В инструкции SQL UPDATE нет соглашения для возврата данных. И наоборот - оператор SELECT не записывает информацию в таблицу.

Если вы нашли вопросы/ответы, которые, по вашему мнению, похожи на то, что вы хотите, укажите ссылки.

Ответ 3

Правильный способ сделать это (теперь для MySQL 5+) будет с хранимой процедурой.

Ответ 4

Старый Q, но все еще используется для решения psql, попробуйте это:

UPDATE table SET column = value
WHERE condition
RETURNING column;

Ответ 5

Попробуйте это

UPDATE tblPopUp 
             SET PopUp = 'False' 
           WHERE DisplayNo = '1'
(
SELECT Period  
             FROM tblPopUp 
            WHERE DisplayNo = '1'
)