![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
содержимое запроса в новую таблицу? [D5]
oleg_er © (2002-12-14 11:31:00)Народ, кто - нить сталкивался с такой проблемой?
Как решили?
Поделитесь идейкой?
проблема в том, что не могу создать структуру таблицы с полями, такими же как и запросе :-/ Если строковое поле - получается, а если с десятичной частью - не выцепляет сколько знаков до и после запятой!
Anatoly Podgoretsky (2002-12-14 14:38:00) [1]Бессмысленно говорить об этот в отрыве от базы данных
Anatoliy (2002-12-14 14:27:00) [2]Возможный медленный вариант:
Пройтись по полям DataSet (запроса), определить FieldDefs полей, создать таблицу с такмми же полями и построчно перенести данные.
Reindeer Moss Eater (2002-12-14 13:58:00) [3]Синтаксис LocalSQL :
insert into NewTable Select * from OldTable
Таблица NewTable должна быть предварительно создана
Anatoliy (2002-12-14 13:54:00) [4]Это я для примера, ни к чему не привязываясь.
> а вот select... where ... from... into... нигде не работает,
> однако...
Работает в Sybase, хотя where и from надо переставить местами :)
А вопрос поточнее надо ставить.
Для выгрузки например в Sybase можно SELECT * FROM table; OUTPUT TO "C:\table" FORMAT "DBASEIII"
в ACCESS SELECT * FROM table IN "C:\table" "dBASE IV;"
Reindeer Moss Eater (2002-12-14 13:33:00) [5]У Float полей нет такой характеристики - кол-во знаков после запятой. Это атрибут BCD полей.
oleg_er (2002-12-14 12:42:00) [6]интересный синтаксис.... Это к какой СУБД
если для фокса, то синтаксис там select ... from ... into dbf/cursor ... where...
если SQL, то там insert into ... () select .... from ... where ...
а вот select... where ... from... into... нигде не работает, однако...
а запрос, к примеру, простой
select fld1, fld2, fl11 from t1, t2 where t1.fld=t2.fld
причем типы полей fld1, fld2, fl11 - десятичные и неизвестно с какой дробной частью.
конечно, можно залесть в таблицу t1 посмотреть какая размерность fld1 и др пр, но это недопустимо!
Anatoliy (2002-12-14 12:28:00) [7]Почему не к чему? Запрос может быть типа
SELECT id,name,price*quant
WHERE price>0
FROM ware
INTO NewTable;
price- float(10,2)
quant- float(10,4)
тип результа просто float
SELECT id,name,cast(price*quant as float(10,2))
WHERE price>0
FROM ware
INTO NewTable;
теперь формат поля известен.
P.S. если я правильно понял проблему!
Так в чем собственно проблема? Вывести результат в DBF?
oleg_er (2002-12-14 12:11:00) [8]ФОКС
приводить не к чему.
Мне надо создать таблицу - структурой такой же, что и данные в запросе. Аналог в фоксе выражения
select * from ttt into dbf ttr1 where uuu=2
или, допустим, из оракла нужно запрос сохранить в виде dbf c типом полей, что и в оракле.
приведение типов тут вообще не причем... :-(
Anatoliy (2002-12-14 11:39:00) [9]Используй приведение типа cast()
Какая БД, запрос и как создаешь?