|
|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Ilya Zvyagin 2:5020/400 14 Mar 2001 17:41:15 To : All Subject : Re: SQL Server 7.0 - три простых вопроса -------------------------------------------------------------------------------- Alexander Khudyakov wrote in message <984586685@p3.f62.n5002.z2.ftn>... >2. Таблица Visual FoxPro 6.0 имеет столбец, являющийся primary key. Возможен ли >перенос этой таблицы в таблицу SQL Server так, чтобы PK столбец имел свойство >IDENTITY (разумеется, с сохранением старых значений). Вроде бы да. Проблем не видно. >3. Как можно, на принципиальном уровне, организовать перед сохранением данных >проверку - не изменил ли оригинальные значения полей другой пользователь сети. >(Как это сделать в VFP для его таблиц я знаю). "Оптимистическое блокирование" используй. Фокс может делать ( или сам можешь сделать ) по совокупности всех полей, по выбранным полям или по полю типа timestamp. выглядит это вроде того : update MyTable set ... where <Hормальные условия ( ключ обычно ) > and <fld1> = @old_fld1 and <fld2> = @old_fld2 ... and <fldN> = @old_fldN где <fldN> - одно из полей по которому делается "Оптимистическое блокирование" @old_fldN - старое (последнее полученное с сервера) значение этого поля Соответственно до сохранения можно сделать SELECT с аналогичным условием и проверить наличие записи. Кстати, предварительная проверка SELECT-ом практически безполезна - от момента получения ответа до момента изменения ее все равно могут поменять. Если не заключать пару SELECT - UPDATE в одну REPEATABLE READ транзакцию. По крайней мере из UPDATE проверку на измененность удалять нелья ни в коем случае. --- ifmail v.2.15dev5 * Origin: FCT Saint-Petersburg (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/13293638766db.html, оценка из 5, голосов 10
|