Вниз
Скачать: CL | DM;

Помогите новичку с 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.028 c
14-1122828634
Profi
2005-07-31 20:50
2005.08.21
Что подарить девушке на годовщину?


1-1122537926
Choovak
2005-07-28 12:05
2005.08.21
Зашифровать файл


14-1122630536
Lexer
2005-07-29 13:48
2005.08.21
Отчётность АО должна быть в сети?


1-1122550947
Pasha L
2005-07-28 15:42
2005.08.21
AND и OR, оперирующие с интежером


3-1121057190
Andrey V.
2005-07-11 08:46
2005.08.21
про UNION ...




   Наверх