Форум: "Базы";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
ВнизСоздание курсора Найти похожие ветки
← →
scorpio © (2006-03-27 14:20) [0]Добрый день мастера. Подскажите как для работы с БД Oracle создать на рабочей машине курсор с данными которые необходимы для работы, и как их потом вставить обратно в БД.
А то пример с фокса никак не работает.
← →
Sergey13 © (2006-03-27 14:26) [1]Вторая серия?
http://delphimaster.net/view/2-1143179491/
← →
Scorpio © (2006-03-27 14:34) [2]Почему вторая, там все работает, данные вставляются и удаляются, спасибо. Ошибка была в самой БД, там необходимо было дозапонить некоторые обязательные поля.
Но мне объяснили что для работы с БД необходимо создать курсор, что бы не угробить данные, а все примеры что я наше для этого они не идут, или здесь курсор не создается ??
пробовал писать
Query1.SQL.Add("select * from vova.li where fam_=""Ñèäîðîâ"" into cursor lim");
и без INTO, и так
Query1.SQL.Add("select * into cursor lim from vova.li where fam_=""Ñèäîðîâ""");
все равно ошибка
← →
Sergey13 © (2006-03-27 14:38) [3]2[2] Scorpio © (27.03.06 14:34)
> Но мне объяснили что для работы с БД необходимо создать курсор
А "они" тебе не объяснили, что любой SELECT рождает неявный курсор?
А для того, "что бы не угробить данные" надо читать теорию и документацию.
← →
Scorpio © (2006-03-27 14:50) [4]Т.е. это получается что я не могу создать явный для себя курсор, на фоксе я видел как это делается там все красиво, но мне необходимо его создать для себя, т.к. очень большой объем данных придется обрабатывать.
Теперь пример я сделал запрос получил порядка 1000 записей из 1000000, мне нужно часть из них обновить, У меня есть два пути, первый я создаю курсор и работаю с ним, потом изменения возвращаю.
Второй не очень удобный каждый раз для получения этого списка и поиска в нем необходимой информации я создаю неявный курсор. Т.к. после выполнения Query1.ExecSQL; данные обнавлябтся на всем серваке, и что бы получить первоначальный список мне нужен опять таки первоначальный запрос. И это просто напросто перегрузит сервак, или я что то не так понял из всей теории ??
← →
Sergey13 © (2006-03-27 15:00) [5]2[4] Scorpio © (27.03.06 14:50)
> или я что то не так понял из всей теории ??
Просто у тебя каша в голове из Фокса и советов бывалых.
>У меня есть два пути
Есть еще и третий - стандартный. Написать селективный запрос. Настроить (в зависимости от компонент доступа) возможность его модификации. А дальше работать с ним как с фоксовым (интербейсным, ДБ2-ным - неважно), стандартными методами - Edit, Insert, Delete. Все остальное - не твоя забота. Если обрабатываемых и (главное) обновляемых записей много - целесообразно вынести эту обработку на сервер, написав соответствующую хранимую процедуру, где, кстати уже возможно применение явных курсоров.
← →
Scorpio © (2006-03-27 15:08) [6]Спасибо
← →
Desdechado © (2006-03-27 18:10) [7]> я сделал запрос получил порядка 1000 записей из 1000000
> мне нужно часть из них обновить,
А теперь сделай запрос такой, чтоб получить только те, что нужны, а не те, которые можно взять. И получится 2 тыс. записей вместо миллиона.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c