Обновление SQL от избранного оператора

Несколько более надежный метод, который мне нужно было использовать недавно:

- (void) dismissKeyboard {
    NSArray *windows = [UIApplication sharedApplication].windows;

    for(UIWindow *window in windows) [window endEditing:true];

    //  Or if you're only working with one UIWindow:

    [[UIApplication sharedApplication].keyWindow endEditing:true];
}

Я обнаружил, что некоторые другие «глобальные» методы не работают (например, UIWebView и WKWebView отказались в отставку).

6
задан Community 23 May 2017 в 10:27
поделиться

5 ответов

Я не могу придумать, как можно объединить SELECT с UPDATE в SQL 2000 (хотя в 2005 и новее предложение OUTPUT доступно) . Однако похоже, что вы получаете три строковых значения (fieldList, tableListAndJoins, whereCond), которые объединяются вместе с «SELECT», «FROM» и «WHERE», и предполагая, что они не выполняют серьезного обнаружения кода, подобного инструкциям SQL, вы могли бы собрать что-то вроде этого:

fileList = "NULL where 1 = 0; UPDATE MyTable set MyColumn = 'Whatever' where SomeColumn = 'Criteria'; SELECT MyColumn"

tableListAndJoins = "MyTable"

whereCond = "SomeColumn = 'Criteria'"

[Точки с запятой на самом деле являются необязательными и могут даже не работать в SQL 2000 - они просто показывают, где заканчивается одна команда и начинается следующая]

Обратной стороной этого является то, что вы получите обратно две команды. наборы данных. Первый будет пустым набором из одного столбца (псевдоним NULL, если вы хотите указать имя столбца), а данные, которые вы хотите, будут во втором наборе. Возможны другие обходные пути, в зависимости от того, как используются эти три значения и как обнаруживаются ошибки. (Позвольте этому первому запросу генерировать ошибку и надеяться, что обновление и второй запрос пройдут?)

1
ответ дан 17 December 2019 в 22:14
поделиться

Я не уверен, что понимаю ограничения вашей ситуации, но можете ли вы просто запустить два оператора одновременно, например:

string sql = "update MyTable set x=y;select x from MyTable;";
0
ответ дан 17 December 2019 в 22:14
поделиться

Попробуйте использовать динамический sql в хранимой процедуре, как указано в последнем ответе здесь

Связано, чтобы оригинальный автор мог получить кредиты, которых он / она заслуживает, и, надеюсь, будет полезно для вас.

И поскольку вы хотите, чтобы SELECT перед ОБНОВЛЕНИЕМ, вы можете изменить динамический sql, как в опубликованной мной ссылке, чтобы сначала выполнить SELECT.

0
ответ дан 17 December 2019 в 22:14
поделиться

Будет сохраненная функция быть вариантом? Вы можете вызывать их более плавно (по крайней мере, в MySQL), чем хранимые процедуры - вместо «call PROCEDURE_NAME (x)» вы можете просто использовать «SELECT FUNCTION_NAME (x)».

0
ответ дан 17 December 2019 в 22:14
поделиться

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

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

0
ответ дан 17 December 2019 в 22:14
поделиться
Другие вопросы по тегам:

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