Форум: "Базы";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
ВнизПомогите новичку с SQL запросом в Oracle Найти похожие ветки
← →
Mefodiy (2005-07-07 17:46) [0]Имеется DBF таблица (400-500 записей) с четырьмя полями. В первом поле - коды товаров, а три остальных поля пустые (наименование, остатки и цена). Нужно из базы данных в Oracle заполнить пустые поля DBF таблицы. В Oracle эти поля находятся в разных таблицах.
Можно ли это сделать одним запросом и как сделать, чтобы запрос выполнялся быстро?
Спасибо
← →
Алхимик © (2005-07-07 17:48) [1]Структуру баз в студию.
← →
fens (2005-07-07 17:59) [2]Мне кажется это возможно с помоц
щью вот такой конструкции, попробуй
INSERT INTO tabl1 SELECT field1..n FROM oratable1...n WHERE условия выборки
← →
Val © (2005-07-07 18:52) [3]прикольно - еще не писали запроса, а уже подозреваем, что он будет выполняться медленно :)
по вопросу - проблема в написании запроса или в передаче данных в дбф?
← →
evvcom © (2005-07-08 00:29) [4]Одним запросом из Oracle в DBF(dBase)? По-моему это из области фантастики. Сам Oracle-сервер умеет работать только со своими базами. Все остальное, что там понаписано в доп.пакетах и т.п., написано на иных языках. Они могут получать набор данных от сервера и уже известным им, а не серверу, способом перегонять их в другие форматы. То же самое ты можешь сделать, написав клиента на Delphi.
← →
Mefodiy (2005-07-08 09:23) [5]>> evvcom ©
Как получить набор данных от сервера по записям DBF файла ?
← →
evvcom © (2005-07-08 09:39) [6]Можно, например, на клиенте сформировать строку с нужными ключами в виде: "1,3,6,15,28", передать ее в качестве параметра в процедуру на Oracle, а там либо формируется динамический запрос типа
"... where id in " || pMyParam
и далее выполняется, либо статический запрос вида
where IN_STR(pMyParam, "," || TO_CHAR(id) || ",") > 0
в этом случае pMyParam надо формировать в виде ",1,3,6,15,28,"
← →
Mefodiy (2005-07-08 10:07) [7]>> evvcom ©
Учтите, что это будет строка с ~500 ключами, каждый из которых длиной 8 символов. Видимо нужно будет использовать тип WideString. Реально ли ?
← →
evvcom © (2005-07-08 10:36) [8]
> строка с ~500 ключами, каждый из которых длиной 8 символов
это около 4 кБ
> Реально ли
Если это не частая операция, то ничего страшного. Если же обычная рабочая, то, возможно, что-то вообще в идее не то. Надо экспериментировать. Может обрабатывать не по 500, а записей по 100. Нужно пробовать.
← →
Danilka © (2005-07-08 10:55) [9]как вариант - в Орокле заполнить временную таблицу у которой 1 параметр - ID, значениями из ДБФ-ки, после чего выполнить запрос.
← →
roottim © (2005-07-08 11:01) [10]или сделать dblink к dbf через odbc и обойтись без временной а dbf всегда ложить на определенное место определенной машины с определенным достум... опреденно :))))
← →
Mefodiy (2005-07-12 07:51) [11]Вариант evvcom © сработал нормально.
Всем спасибо.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.03 c