результат Update (mysql)

ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Tuko_G
Бывалый
Сообщения: 95
Зарегистрирован: 09 Декабрь 2005, 10:47
Откуда: Tbilisi, Georgia
Контактная информация:

результат Update (mysql)

Сообщение Tuko_G »

как понять сколько записей обновился

Код: Выделить всё

 dummytbl{prop:SQL}= 'update anketa set age = ' & loc:age & ' where person_Id = ' & loc:person_Id
 if errorcode() = 90 then  message(fileerror() & ' - ' & Fileerrorcode() & '- table anketa.') .
то есть хочу понять сколько записи соответствует условии where (0, 1 ,2 ...) после update

спасибо
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

Re: результат Update (mysql)

Сообщение BOB »

Можно примитивно xоть ДО хоть после update поскольку в Вашем случае поле person_Id НЕ меняется.
dummytbl{prop:SQL}= 'select count(*) from anketa where person_Id = ' & loc:person_Id
next(dummytbl)
В первом поле dummytbl будет результат если первое поле способно принять его . Т.е. если первое поле например
string(1) , а результат двухзначный , то...
Или Вы хотите раскопать где в нутрях sql взять результат?
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: результат Update (mysql)

Сообщение Дед Пахом »

"Сколько записей обновилось" и "сколько записей удовлетворяет условию после обновления" - совершенно разные вещи. Как сказал ВОВ, второе вычисляется путём "select count(*) where...", а первое для MySQL так:
UPDATE returns the number of rows that were actually changed. The mysql_info() C API function returns the number of rows that were matched and updated and the number of warnings that occurred during the UPDATE
Я бы и сам хотел знать, как этой самой mysql_info() пользоваться.

В догонку вопрос по MySQL - создаю примитивную View типа

Код: Выделить всё

create or replace view v1 as select f1 from t
пытаюсь сделать update v1 set f1 = 1 и получаю ошибку "Error Code: 1288
The target table v1 of the UPDATE is not updatable". Пробовал добавлять ALGORITHM=MERGE и SQL SECURITY INVOKER, не помогает.
С уважением, ДП
BOB
Ветеран
Сообщения: 336
Зарегистрирован: 17 Июль 2005, 5:43

Re: результат Update (mysql)

Сообщение BOB »

пытаюсь сделать update v1 set f1 = 1 и получаю ошибку "Error Code: 1288
Дык в mssql это же не таблица , а процедура т.е. оная на диске не существует а только отображается.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: результат Update (mysql)

Сообщение Дед Пахом »

Здрассьте! Любая sql из тех что я знаю (5 штук минимум) умеет делать update/delete/insert по вьюхам, естественно, изменения затрагивают underlying table(s).
И вообще речь о MYSQL, а не MS.
С уважением, ДП
Ответить