Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Результат запроса foxpro в таблицу другой базы данных?  [new]
S866
Member

Откуда:
Сообщений: 387
Господа помогите с синтаксисом
Как вывести результат Selectа Фокса в таблицу другой базы данных фокспро?
в Help написано
DBF | TABLE TableName
[DATABASE DatabaseName [NAME LongTableName]] stores query results in a table. If you specify a table that is already open and SET SAFETY is set to OFF, Visual FoxPro overwrites the table without warning. If you don't specify an extension, Visual FoxPro gives the table a .DBF extension. The table remains open and active after SELECT is executed. 
Include DATABASE DatabaseName to specify a database to which the table is added. Include NAME LongTableName to specify a long name for the table. Long names can contain up to 128 characters and can be used in place of short file names in the database.

но что то я не могу понять как мне сформулировать опцию
INTO TABLE "таблица другой базы данных"
если подставляю просто имя таблицы то ругается что таблица существует и включена в другую базу данных.

Фокс 6.0
6 фев 06, 15:00    [2325167]     Ответить | Цитировать Сообщить модератору
 Re: Результат запроса foxpro в таблицу другой базы данных?  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
SELECT * FROM MyBase!MyTab INTO CURSOR curTMP NOFILTER WHERE ...

SELECT 0
USE MyOtherBase!MyTab
APPEND FROM (DBF("curTMP"))

Одной командой в VFP6 этого не сделать. Точнее, можно сделать, только если таблица, куда будет выгружен результат на момент выполнения запроса физически не существует.

Начиная с версии VFP8 это уже можно сделать одной командой INSERT-SQL.
6 фев 06, 15:46    [2325494]     Ответить | Цитировать Сообщить модератору
 Re: Результат запроса foxpro в таблицу другой базы данных?  [new]
S866
Member

Откуда:
Сообщений: 387
Спасибо ВладимирМ

у меня приблизительно так и сделано.
правда через цикл. Gather и Scatter
сейчас переделаю через APPEND FROM (DBF("curTMP"))

Хотелось откинуть кусок кода - и сделать красиво одним SELECT.

а как же Help - я не силен в английском но вроде там как раз об этом говорится?
6 фев 06, 15:56    [2325558]     Ответить | Цитировать Сообщить модератору
 Re: Результат запроса foxpro в таблицу другой базы данных?  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
S866
а как же Help - я не силен в английском но вроде там как раз об этом говорится?

Какой фрагмент HELP имеется в виду? Для команды Select-SQL?

HELP далеко не всегда отражает то, что есть на самом деле. Точнее, в данном случае, он не достаточно ясно выразил смысл.

Команда Select-SQL всегда создает НОВУЮ таблицу. Т.е. физически создается новый файл DBF. Но, чтобы создать новый файл, необходимо предварительно удалить старый, с тем же именем. Но тут начинаются разные сложности...
6 фев 06, 16:20    [2325706]     Ответить | Цитировать Сообщить модератору
 Re: Результат запроса foxpro в таблицу другой базы данных?  [new]
S866
Member

Откуда:
Сообщений: 387
2 ВладимирМ

Понятно. Этого и следовало ожидать.

а Help - я кусок его привел в первом посте.


за APPEND FROM (DBF("curTMP")) - отдельное спасибо - а я циклом делал перегонку - не мог сообразить как из курсора APPEND FROM сделать :-))))
7 фев 06, 08:18    [2327496]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить