Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
3-1143451965
Физик
2006-03-27 13:32
2006.05.21
Как правильно соединяться с базой данных под Personal Oracle?


2-1146207157
gerakla
2006-04-28 10:52
2006.05.21
Помогите мну


2-1146747026
RomanH
2006-05-04 16:50
2006.05.21
Корректный выход из программы


2-1146693377
Std
2006-05-04 01:56
2006.05.21
Распаковка Zlib


4-1141325287
NightLord
2006-03-02 21:48
2006.05.21
Вывод на рабочий стол





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский