Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Создание курсора   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
2-1146561092
Golik
2006-05-02 13:11
2006.05.21
Запрос ???


15-1145764548
Der Nechk@ssoff
2006-04-23 07:55
2006.05.21
CRC


2-1146385479
Mr tray
2006-04-30 12:24
2006.05.21
Иконка в трее


15-1145802899
Commirce
2006-04-23 18:34
2006.05.21
Обновление базы данных


2-1146333722
Kano
2006-04-29 22:02
2006.05.21
Запросы в БД